此MCP服务器通过note.com的API实现了从Claude Desktop、n8n及其他MCP客户端进行文章浏览、发布以及用户信息获取等功能。
已迁移仓库。
shimayuz/note-mcp-server (已删除)shimayuz/note-com-mcp (当前仓库)# 克隆新的仓库
git clone https://github.com/shimayuz/note-com-mcp.git
cd note-com-mcp
# 按照现有安装步骤进行安装
npm install
npm run build
npm run start:http
请勿使用旧仓库,请务必使用新仓库。
支持流式HTTP传输!
# 1. 启动HTTP服务器
npm run start:http
# 2. 启动Cloudflare Tunnel
cloudflared tunnel --url http://localhost:3000
# 3. 在n8n中连接
# HTTP Stream URL: 显示的Cloudflare URL + /mcp
详情请参阅 Cloudflare Tunnel 设置指南。
将2900行的单体文件拆分为16个模块,显著提高了维护性和性能。
此MCP服务器提供了以下功能。
此服务器中,大多数读取功能(如文章搜索、用户信息等)无需认证即可使用。而以下功能需要note.com的认证信息:
认证信息应在项目根目录创建的 .env 文件中设置。请使用 .env.example 文件作为模板,并填写您的信息。由于 .env 文件被 .gitignore 排除,因此可以安全地管理认证信息。
克隆此仓库:
git clone https://github.com/note-mcp-developer/note-mcp-server.git <您喜欢的目录名>
cd <您喜欢的目录名>
安装依赖包:
npm install
创建环境配置文件:
将项目根目录中的 .env.example 文件复制为 .env 文件。
cp .env.example .env
打开创建的 .env 文件,设置您的note.com认证信息。
详情请参阅“认证信息设置方法”部分及 .env.example 文件内的注释。
重要: .env 文件被 .gitignore 排除,因此不会误提交到仓库。请在本地安全保管。
构建并启动服务器:
npm run build && npm run start
此命令会编译TypeScript代码并启动服务器。
此MCP服务器采用模块化设计以实现高维护性:
src/
├── config/ # 环境配置和API配置
├── types/ # TypeScript类型定义
├── utils/ # 公共工具
├── tools/ # 功能模块MCP工具
├── prompts/ # 提示模板
└── note-mcp-server-refactored.ts # 主服务器
npm run start: 启动生产服务器(stdio)npm run start:refactored: 启动重构版服务器(stdio)npm run start:http: 启动HTTP传输版服务器npm run dev:refactored: 开发模式(构建+启动,stdio)npm run dev:http: 开发模式(构建+启动,HTTP)npm run dev:watch: 文件监视模式npm run dev:ts: 直接执行TypeScript(开发模式,stdio)npm run dev:http:ts: 直接执行TypeScript(开发模式,HTTP)若要使用发布、点赞、获取会员信息等功能,需在项目根目录的 .env 文件中设置认证信息。请参考 .env.example 并按以下任一方式设置。
在 .env 文件中设置您的note.com账户的邮箱地址、密码及用户ID:
重要: 若要使用草稿编辑功能,需从浏览器Cookie中获取 note_gql_auth_token 的值,并将其设置为 .env 文件中的 NOTE_GQL_AUTH_TOKEN。
NOTE_EMAIL=your_email@example.com
NOTE_PASSWORD=your_password
NOTE_USER_ID=your_note_user_id
此方法的优点是不像Cookie那样有到期问题。服务器启动时会自动认证。
使用浏览器开发者工具等获取登录note.com时的Cookie信息,并设置到 .env 文件中。
NOTE_SESSION_V5=your_session_v5_cookie_value
NOTE_XSRF_TOKEN=your_xsrf_token_cookie_value
NOTE_USER_ID=your_note_user_id
注意: Cookie认证有有效期,可能需要定期更新。
安装并启动Claude Desktop
打开Claude Desktop的配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json在配置文件中添加以下内容。请按以下任一方式设置。
{
"mcpServers": {
"note-api": {
"command": "node",
"args": [
"/path/to/noteMCP/build/note-mcp-server-refactored.js"
],
"env": {
"NOTE_EMAIL": "note.com的邮箱地址",
"NOTE_PASSWORD": "note.com的密码",
"NOTE_USER_ID": "您的user ID"
}
}
}
}
若使用Cookie认证,则如下设置:
{
"mcpServers": {
"note-api": {
"command": "node",
"args": [
"/path/to/noteMCP/build/note-mcp-server-refactored.js"
],
"env": {
"NOTE_SESSION_V5": "您的session v5令牌",
"NOTE_XSRF_TOKEN": "您的xsrf令牌",
"NOTE_USER_ID": "您的user ID"
}
}
}
}
注意: /path/to/noteMCP 应替换为您实际克隆项目的绝对路径。
此方法使用之前创建的 .env 文件。只需在配置文件中指定项目的路径。
{
"mcpServers": {
"noteMCP": {
"command": "npm",
"args": ["run", "start"],
"cwd": "/path/to/your/note-mcp-server", // 您克隆项目的根路径
"mcp_version": "0.0.1"
}
}
}
注意:
.env 文件中读取环境变量。重启Claude Desktop
安装并启动Cursor
打开Cursor的MCP配置文件
~/.cursor/mcp.json%APPDATA%\.cursor\mcp.json
或打开Cursor设置,进入MCP设置页面,点击“添加全局MCP服务器”。在配置文件中添加以下内容
{
"mcpServers": {
"note-api": {
"command": "node",
"args": [
"/path/to/noteMCP/build/note-mcp-server-refactored.js"
],
"env": {
"NOTE_EMAIL": "note.com的邮箱地址",
"NOTE_PASSWORD": "note.com的密码",
"NOTE_USER_ID": "您的user ID"
}
}
}
}
注意: /path/to/noteMCP 应替换为您实际克隆项目的绝对路径。
重启Cursor
安装并启动Windsurf
打开Windsurf的MCP配置文件
~/.codeium/windsurf/mcp_config.json%APPDATA%\.codeium\windsurf\mcp_config.json
或打开Windsurf设置,进入管理插件页面,点击“查看原始配置”。在配置文件中添加以下内容
{
"mcpServers": {
"note-api": {
"command": "node",
"args": [
"/path/to/noteMCP/build/note-mcp-server-refactored.js"
],
"env": {
"NOTE_EMAIL": "note.com的邮箱地址",
"NOTE_PASSWORD": "note.com的密码",
"NOTE_USER_ID": "您的user ID"
}
}
}
}
注意: /path/to/noteMCP 应替换为您实际克隆项目的绝对路径。
重启Windsurf
通过使用流式HTTP传输,可以从Cursor、ChatGPT、OpenAI Responses API等远程连接MCP服务器。
推荐配置: 使用Cloudflare Tunnel的安全连接
如果您在VPS上自托管n8n,可以通过使用Cloudflare Tunnel,在保持认证信息存储在本地PC的同时,安全地进行远程访问。
详细步骤请参阅 Cloudflare Tunnel 设置指南。
# 构建并启动
npm run build && npm run start:http
# 或者在开发模式下启动
npm run dev:http
默认情况下会在 http://127.0.0.1:3000 启动。若要更改端口或主机,请在 .env 文件中添加以下内容:
MCP_HTTP_PORT=3000
MCP_HTTP_HOST=127.0.0.1
http://127.0.0.1:3000/healthhttp://127.0.0.1:3000/mcphttp://127.0.0.1:3000/sse在n8n中使用“MCP Client HTTP Streamable”节点进行连接:
# 获取用于n8n连接的URL
./scripts/manage-services.sh test
n8n设置:
HTTP Stream URL: https://note-mcp.composition2940.com/mcp
HTTP Connection Timeout: 60000
Messages Post Endpoint: (留空)
Additional Headers: (留空)
支持的功能:
tools/list - 获取23个工具列表tools/call - 执行search-notes, get-note工具可用工具(支持HTTP):
search-notes: note.com文章搜索get-note: 获取文章详情在Cursor的配置文件(~/.cursor/mcp.json)中添加以下内容:
{
"mcpServers": {
"note-api-remote": {
"url": "http://127.0.0.1:3000/mcp",
"transport": "sse"
}
}
}
使用OpenAI API时,可以这样指定MCP服务器的URL:
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "note中的人气文章"}],
mcp_servers=[{
"url": "http://127.0.0.1:3000/mcp",
"transport": "sse"
}]
)
127.0.0.1(localhost)访问在macOS上,您可以设置 note-mcp-server 和 Cloudflare Tunnel 在电脑启动时自动启动。
# 1. 设置服务管理脚本为可执行
chmod +x scripts/manage-services.sh
# 2. 设置自动启动(macOS LaunchAgent)
./scripts/manage-services.sh setup
# 3. 启动服务
./scripts/manage-services.sh start
# 4. 查看状态
./scripts/manage-services.sh status
# 查看状态
./scripts/manage-services.sh status
# 启动服务
./scripts/manage-services.sh start
# 停止服务
./scripts/manage-services.sh stop
# 重启服务
./scripts/manage-services.sh restart
# 查看日志
./scripts/manage-services.sh logs
# 健康检查
./scripts/manage-services.sh health
# 显示n8n连接用URL
./scripts/manage-services.sh test
~/Library/LaunchAgents/com.note-mcp-server.plist~/Library/LaunchAgents/com.cloudflared.note-mcp.plist~/noteMCP/logs/ 目录# 控制单独的服务
launchctl start com.note-mcp-server
launchctl stop com.note-mcp-server
launchctl start com.cloudflared.note-mcp
launchctl stop com.cloudflared.note-mcp
您可以在Claude Desktop中尝试以下查询。