plugins/wasm-go/mcp-servers/mcp-notion/mcp-server.yaml (403 lines of code) (raw):

server: name: notion-api-server config: token: "" tools: - name: getUser description: "获取指定用户信息" args: - name: user_id description: "用户UUID" type: string required: true requestTemplate: url: "https://api.notion.com/v1/users/{{.args.user_id}}" method: GET headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ### 用户信息 - **ID**: {{.id}} - **类型**: {{.type}} - **名称**: {{.name}} {{- if eq .type "person"}} - **邮箱**: {{.person.email}} {{- end}} - **头像**: [链接]({{.avatar_url}}) - name: listUsers description: "分页列出所有用户" args: - name: start_cursor description: "分页起始游标" type: string required: false - name: page_size description: "每页数量(默认100)" type: integer required: false default: 100 requestTemplate: url: "https://api.notion.com/v1/users" method: GET argsToUrlParam: true headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | 用户列表(共{{len .results}}项) {{- range .results}} ### {{.name}} - 类型: {{.type}} - 最后编辑时间: {{.last_edited_time}} {{- end}} - name: getCurrentUser description: "获取当前认证用户信息" requestTemplate: url: "https://api.notion.com/v1/users/me" method: GET headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 当前用户 - **身份类型**: {{.type}} {{- if .bot}} - **所属者**: {{.bot.owner.user.name}} ({{.bot.owner.user.person.email}}) {{- end}} - name: queryDatabase description: "查询数据库" args: - name: database_id type: string required: true - name: filter_properties type: array items: type: string requestTemplate: url: "https://api.notion.com/v1/databases/{{.args.database_id}}/query" method: POST body: | { "filter": {{toJson .args.filter}}, "sorts": {{toJson .args.sorts}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 查询结果 {{- range .results}} ### {{.properties.Name.title.plain_text}} - 创建时间: {{.created_time}} - 最后编辑时间: {{.last_edited_time}} {{- end}} - name: search description: "搜索页面和数据库" args: - name: query type: string required: false - name: sort type: object properties: direction: type: string timestamp: type: string requestTemplate: url: "https://api.notion.com/v1/search" method: POST body: | { "query": "{{.args.query}}", "sort": {{toJson .args.sort}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 搜索结果 {{- range .results}} ### {{.title.plain_text}} - 类型: {{.object}} - 最后编辑时间: {{.last_edited_time}} {{- end}} - name: getBlock description: "获取指定块信息" args: - name: block_id type: string required: true requestTemplate: url: "https://api.notion.com/v1/blocks/{{.args.block_id}}" method: GET headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 块信息 - 类型: {{.type}} - 创建时间: {{.created_time}} - 最后编辑时间: {{.last_edited_time}} - name: updateBlock description: "更新块内容" args: - name: block_id type: string required: true - name: type type: object properties: {} - name: archived type: boolean default: true requestTemplate: url: "https://api.notion.com/v1/blocks/{{.args.block_id}}" method: PATCH body: | { "type": {{toJson .args.type}}, "archived": {{.args.archived}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 更新结果 - 状态: 成功 - 块ID: {{.id}} - name: deleteBlock description: "删除指定块" args: - name: block_id type: string required: true requestTemplate: url: "https://api.notion.com/v1/blocks/{{.args.block_id}}" method: DELETE headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 删除结果 - 状态: 成功 - 块ID: {{.args.block_id}} - name: getPage description: "获取指定页面信息" args: - name: page_id type: string required: true - name: filter_properties type: string required: false requestTemplate: url: "https://api.notion.com/v1/pages/{{.args.page_id}}" method: GET argsToUrlParam: true headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 页面信息 - 标题: {{.properties.title.title.plain_text}} - 创建时间: {{.created_time}} - 最后编辑时间: {{.last_edited_time}} - name: updatePage description: "更新页面属性" args: - name: page_id type: string required: true - name: properties type: object properties: {} - name: in_trash type: boolean default: false requestTemplate: url: "https://api.notion.com/v1/pages/{{.args.page_id}}" method: PATCH body: | { "properties": {{toJson .args.properties}}, "in_trash": {{.args.in_trash}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 更新结果 - 状态: 成功 - 页面ID: {{.id}} - name: createDatabase description: "创建新数据库" args: - name: parent type: object properties: page_id: type: string required: true - name: properties type: object properties: {} required: true requestTemplate: url: "https://api.notion.com/v1/databases" method: POST body: | { "parent": {{toJson .args.parent}}, "properties": {{toJson .args.properties}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 创建结果 - 数据库ID: {{.id}} - 标题: {{.title.plain_text}} - 创建时间: {{.created_time}} - name: updateDatabase description: "更新数据库" args: - name: database_id type: string required: true - name: title type: array items: type: object properties: text: type: object properties: content: type: string requestTemplate: url: "https://api.notion.com/v1/databases/{{.args.database_id}}" method: PATCH body: | { "title": {{toJson .args.title}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 更新结果 - 数据库ID: {{.id}} - 新标题: {{.title.plain_text}} - name: getDatabase description: "获取数据库信息" args: - name: database_id type: string required: true requestTemplate: url: "https://api.notion.com/v1/databases/{{.args.database_id}}" method: GET headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 数据库信息 - 标题: {{.title.plain_text}} - 创建时间: {{.created_time}} - 最后编辑时间: {{.last_edited_time}} - 属性数量: {{len .properties}} - name: getPageProperty description: "获取页面属性项" args: - name: page_id type: string required: true - name: property_id type: string required: true - name: page_size type: integer required: false - name: start_cursor type: string required: false requestTemplate: url: "https://api.notion.com/v1/pages/{{.args.page_id}}/properties/{{.args.property_id}}" method: GET argsToUrlParam: true headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 属性项 {{- range .results}} - 类型: {{.type}} - 值: {{.value}} {{- end}} - name: createComment description: "创建评论" args: - name: parent type: object properties: page_id: type: string required: true - name: rich_text type: array items: type: object properties: text: type: object properties: content: type: string required: true requestTemplate: url: "https://api.notion.com/v1/comments" method: POST body: | { "parent": {{toJson .args.parent}}, "rich_text": {{toJson .args.rich_text}} } headers: - key: Authorization value: "Bearer {{.config.token}}" - key: Notion-Version value: 2022-06-28 responseTemplate: body: | ## 评论创建结果 - 评论ID: {{.id}} - 创建时间: {{.created_time}} - 内容: {{.rich_text.text.content}}