MCP服务器的简单概念
概述
该项目实现了一个模型上下文协议(MCP)服务器,作为人工智能助手和Notion API之间的桥梁。不像 官方Notion MCP服务器 它返回大的JSON blob,此服务器将Notion页面呈现为Markdown,使LLM更有效地处理和理解它们。
特性
- Markdown渲染:将Notion页面转换为干净、可读的Markdown格式
- 富文本支持:保留粗体、斜体、删除线和代码元素的格式
设置
- 创建Notion集成并从获取API令牌 https://www.notion.so/my-integrations
- 将令牌设置为环境变量:
export NOTION_TOKEN=your-notion-api-token或者,您可以创建 .env 在项目中使用以下文件:
NOTION_TOKEN=your-notion-api-token- 确保与您的集成共享您要访问的任何Notion页面
用法
与VS代码一起使用
将此添加到您的设置JSON文件中:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "notion_token",
"description": "Notion API Token",
"password": true
}
],
"servers": {
"notion": {
"command": "npx",
"args": [
"-y",
"@larryhudson/simple-notion-mcp-server"
],
"env": {
"NOTION_TOKEN": "${input:notion_token}"
}
}
}
}
}与Claude或其他MCP兼容应用程序一起使用
将以下内容添加到MCP配置JSON文件中:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@larryhudson/simple-notion-mcp-server"],
"env": {
"NOTION_TOKEN": ""
}
}
}
}可用工具
get_page
按ID检索Notion页面并将其呈现为Markdown。
参数:
page_id:要检索的Notion页面的ID
示例:
{
"page_id": "83c75a5b7a324be29d454536f2345678"
}运作原理
服务器通过以下步骤处理Notion页面:
- 使用Notion API获取页面元数据
- 从页面中检索所有块(通过递归获取子块)
- 将块格式化为Markdown,保持结构和格式
- 返回页面的干净Markdown表示形式
技术细节
内置:
- 模型上下文协议(MCP):允许AI助手与外部工具交互的框架
- 通知API客户端:与Notion沟通的官方客户
- TypeScript:用于类型安全和更好的开发人员体验
发展
您可以使用模型上下文协议检查器来尝试服务器:
npx @modelcontextprotocol/inspector npx tsx src/index.ts局限性和未来改进
- 目前仅支持检索页面(不更新或创建)
- 在未来的更新中可以改进图像处理(例如将图像渲染为base64图像块)
许可证
麻省理工学院
