Notion MCP Server 使用与部署指南
mcp-notion-server 项目地址: https://gitcode.com/gh_mirrors/mc/mcp-notion-server
1. 项目目录结构及介绍
Notion MCP Server 的目录结构如下所示:
.
├── src/
│ ├── index.ts # 程序入口点和命令行处理
│ ├── client/
│ │ └── index.ts # NotionClientWrapper 类,用于与 Notion API 进行交互
│ ├── server/
│ │ └── index.ts # MCP 服务器设置和请求处理
│ ├── types/
│ │ ├── index.ts # 类型导出
│ │ ├── args.ts # 工具参数接口
│ │ ├── common.ts # 常用模式定义
│ │ ├── responses.ts # API 响应类型定义
│ │ └── schemas.ts # 工具模式定义
│ ├── utils/
│ │ └── index.ts # 实用函数
│ └── markdown/
│ └── index.ts # Markdown 转换实用程序
src/index.ts
: 应用的入口点,用于解析命令行参数并启动服务器。src/client/index.ts
: 负责与 Notion API 进行通信的模块。src/server/index.ts
: MCP 服务器的实现,用于处理来自 Claude 的请求并调用相应的客户端方法。src/types
: 类型定义模块,包括所有工具的接口和类型。src/utils/index.ts
: 包含过滤启用工具等实用函数。src/markdown/index.ts
: 包含将 JSON 响应转换为 Markdown 格式的逻辑。
2. 项目的启动文件介绍
项目的启动文件是 src/index.ts
,它负责以下任务:
- 解析命令行参数。
- 设置并启动 MCP 服务器。
当你运行 node src/index.ts
命令时,程序将开始监听来自 Claude 的请求,并将根据提供的命令行参数来启用或禁用特定的工具。
3. 项目的配置文件介绍
项目的配置文件主要是 claude_desktop_config.json
,该文件用于配置 Claude Desktop 如何与 Notion MCP Server 交互。下面是一个配置文件的示例:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@suekou/mcp-notion-server"],
"env": {
"NOTION_API_TOKEN": "your-integration-token",
"NOTION_MARKDOWN_CONVERSION": "true"
}
}
}
}
在这个配置文件中,你需要指定以下内容:
command
: 用于启动 MCP 服务器的命令,可以是npx
或node
。args
: 命令的参数,包括 Notion MCP Server 的 NPM 包名称。env
: 环境变量,包括 Notion API 的集成令牌 (NOTION_API_TOKEN
) 和是否启用 Markdown 转换 (NOTION_MARKDOWN_CONVERSION
)。
确保你已经创建了 Notion 集成并获取了内部集成令牌,然后将其替换到 your-integration-token
处。这样,Claude Desktop 就能够通过 Notion MCP Server 与 Notion API 进行交互了。
mcp-notion-server 项目地址: https://gitcode.com/gh_mirrors/mc/mcp-notion-server