writeathon-mcp-server

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

Writeathon MCP 服务器

这是一个基于MCP协议的Writeathon API服务器,提供了与Writeathon平台集成的MCP服务。

功能特点

  • 基于Node.js和TypeScript开发
  • 使用MCP协议(Model Context Protocol)提供服务
  • 提供REST API接口和MCP服务接口

安装

# 1. 克隆仓库
git clone https://github.com/Hcs66/writeathon-mcp.git
cd writeathon-mcp

# 2. 安装nodejs
# 确保使用Node.js 20+以上版本,若同时存在多个版本,可先安装nvm并切换

# 安装依赖,确保文件夹有读写权限
npm install

配置

  1. 开发模式:复制.env.example文件为.env.dev
  2. 生产模式:复制.env.example文件为.env.prod
  3. 编辑对应的环境文件,填入你的Writeathon用户ID、集成Token(web→设置→集成)
# API配置
API_BASE_URL=https://api.writeathon.cn
WRITEATHON_USER_ID=your_user_id_here
WRITEATHON_TOKEN=your_integration_token_here

# 服务器配置
PORT=3000
HOST=localhost

运行

# 开发模式运行
npm run dev

# 或者构建后运行
npm run build
npm start
  • 服务器将在HOST:PORT上运行。
  • MCP服务将在HOST:PORT+1上运行。
  • MCP Streamable HTTP地址为HOST:PORT+1/mcp
  • MCP健康检查地址为HOST:PORT+1/mcp/health

在Claude/Trae等平台使用

通过复制mcp.json内容手动创建MCP

其中HOSTPORT为.env配置文件中的HOST和PORT+1,如HOST=localhost,PORT=3000,则url为http://localhost:3001/mcp

{
  "mcpServers": {
    "writeathon": {
      "type": "streamable-http",
      "url": "http://HOST:PORT/mcp",
      "note": "For Streamable HTTP connections, add this URL directly in your MCP Client"
    }
  }
}

API接口

服务器提供以下REST API接口:

  • GET /api/me - 获取用户信息
  • POST /api/cards - 创建卡片(支持space、attachments、shareStatus)
  • POST /api/cards/extend - 扩展卡片(支持attachments)
  • GET /api/cards/recent - 获取最近更新的卡片列表(支持space、exclude_date_title)
  • POST /api/cards/get - 获取卡片
  • POST /api/cards/search - 搜索卡片(支持space、sortString、limit)
  • GET /api/spaces - 获取空间列表
  • POST /api/writing-pick - 写作拾贝

MCP服务

服务器提供以下MCP能力:

  • Resources
    • user://me - 获取用户信息
    • recent-cards://list?exclude_date_title={exclude_date_title}&space={space} - 最近卡片列表
    • cards://{id} - 获取卡片
    • writing-pick://{type}?limit={limit} - 写作拾贝
    • spaces://list - 空间列表
  • Tools
    • create-card - 创建卡片(支持space、attachments、shareStatus)
    • extend-card - 扩展卡片(支持attachments)
    • get-card - 获取卡片
    • get-recent-cards - 获取最近更新的卡片列表(支持space、exclude_date_title)
    • search-cards - 搜索卡片
    • list-spaces - 获取空间列表
    • get-writing-pick - 写作拾贝
  • Prompts
    • create-card-prompt - 根据内容创建卡片
    • writing-pick-prompt - 获取写作拾贝

许可证

ISC