动漫MCP服务器
使用Annict REST API,进行动画的检索、人物、团体、工作人员、广播预定的取得 模型上下文协议(MCP) 服务器。
需要的东西
安装,安装
npm install
cp .env.example .env
# .env に ANNICT_ACCESS_TOKEN **を設定**
npm run build环境变数
ANNICT_ACCESS_TOKEN(必需)—Annict API的访问令牌。应用程序设置中所述方法的备选方法。.env 或者MCP设置的 env 交给。
交付工具
作品(works)
工具名称|说明| |----------|------| | search_anime 用标题检索作品(例:白桦,shirobako) | search_anime_by_season 用广播酷(年·季节)检索(例:2024年春,2016年秋) | get_anime_by_ids 在作品ID的列表中取得作品信息
系列
工具名称|说明| |----------|------| | search_series 以系列名称搜索(例如源艺术,Sword Art) | get_series_by_ids 在系列ID列表中获取系列信息
小插曲(episodes)
工具名称|说明| |----------|------| | get_episodes_by_work_id 取得与作品ID相关联的小故事一览(话数顺序等) | get_episodes_by_ids 在小插曲ID的列表中获取小插曲信息
人物(people)
工具名称|说明| |----------|------| | search_people 用名字检索人物(声优、工作人员等。例如:井上,水濑海苔) | get_people_by_ids 在人物ID的列表中获取人物信息
団体(organizations)
工具名称|说明| |----------|------| | search_organizations 用名字搜索团体(制作公司等。例如:株式会社,P.A.WORKS) | get_organizations_by_ids 在团体ID的列表中取得团体信息
工作人员
工具名称|说明| |----------|------| | get_staffs_by_ids 在员工ID列表中获取员工信息 | get_staffs_by_work_id 取得与作品ID相关的工作人员一览(导演、动画制作等)
放送予定(programs)
工具名称|说明| |----------|------| | get_my_programs 取得认证用户的广播预定。可以缩小日期范围、作品ID、未视听、重播的范围。ANNICT_ACCESS_TOKEN 必须。|
在Cursor/Claude Desktop中的使用方法
注册为MCP服务器。
光标 的MCP设置,或者 克劳德桌面版 的,之 claude_desktop_config.json 添加到示例:
{
"mcpServers": {
"anime": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/anime-mcp/build/src/index.js"],
"env": {
"ANNICT_ACCESS_TOKEN": "your_annict_token"
}
}
}
}/ABSOLUTE/PATH/TO/anime-mcp 用项目的绝对路径替换。令牌是 env 或者在项目正下方 .env 中所述修改相应参数的值。
项目配置
- src/api/ —Annict API客户端(
client.ts+作品、系列、剧集、人物、组织、员工、节目) - src/类型/ —请求型(
api.ts,common.ts)和各资源的类型Zod架构 - src/工具/ —MCP工具注册(每个资源1个文件)
- src/utils/format/ —按资源对文本进行整形(
common.ts+每个资源) - src/utils/result.ts -工具返还(ok/err/wrap)
- 测试/ —单元测试。
test/api/,test/utils/,test/tools/支持src
开発
npm run build # ビルド (tsc + tsc-alias)
npm start # ビルド済み index.js を実行
npm run dev # tsc --watch
npm test # ユニットテスト実行 (Vitest)
npm run lint # ESLint
npm run lint:fix # ESLint 自動修正
npm run format # Prettier でフォーマット
npm run format:check # フォーマットチェック