使用说明
拆分MCP服务器
一个独立的模型上下文协议(MCP)服务器,提供对Splitwise API的完全访问。使用它 克劳德桌面, VS代码副本, ChatGPT,或任何兼容MCP的客户端,通过自然语言管理您的Splitwise费用。
特性
26个MCP工具 分为7类:
- 👤 用户管理 (3) -配置文件和设置
- 👥 群组管理 (7) -创建/管理费用组
- 🤝 好友管理 (5) -添加/管理好友
- 💰 费用管理 (6) -使用自定义拆分创建/跟踪费用
- 💬 评论 (3) -费用评论
- 🔔 通知 (1) -查看帐户活动
- 🛠️ 公用事业 (2) -货币和类别
支持的客户
- ✅ 克劳德桌面 (Anthropic的桌面应用程序)-使用stdio或WebSocket模式
- ✅ VS代码与GitHub Copilot (通过 拆分mcp vscode扩展)
- ✅ ChatGPT (具有自定义MCP集成)
- ✅ 任何兼容MCP的客户端 (stdio或WebSocket+HTTP模式)
快速开始
1.安装依赖项
npm install
npm run build
2.获取Splitwise凭据
访问 secure.splitwise.com/apps 并注册您的应用程序:
- 名字:我的Splitwise MCP
- 主页网址:
http://localhost - 回调URL:
http://localhost:8080/callback
保存您的 消费者密钥 和 消费者秘密.
3.获取访问令牌
运行令牌帮助程序:
npm run get-token
或手动:
- 访问:
https://secure.splitwise.com/oauth/authorize?client_id=YOUR_CONSUMER_KEY&response_type=code&redirect_uri=http://localhost:8080/callback - 授权应用程序并复制
code从重定向URL - 代币兑换:
curl -X POST "https://secure.splitwise.com/oauth/token" \
-d "grant_type=authorization_code" \
-d "code=YOUR_AUTH_CODE" \
-d "client_id=YOUR_CONSUMER_KEY" \
-d "client_secret=YOUR_CONSUMER_SECRET" \
-d "redirect_uri=http://localhost:8080/callback"
4.配置环境
创建 .env:
SPLITWISE_ACCESS_TOKEN=your_access_token_here
5.选择您的客户
选项A:克劳德桌面(推荐)
编辑您的Claude Desktop配置文件:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Mac/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
Websocket模式 (需要适配器或直接连接):
{
"mcpServers": {
"splitwise": {
"command": "splitwise-mcp-server",
"args": [],
"env": {
"SPLITWISE_ACCESS_TOKEN": "your_access_token_here",
"PORT": "3002"
}
}
}
}
标准模式 (原始,使用stdio传输):
{
"mcpServers": {
"splitwise": {
"command": "splitwise-mcp-server",
"args": ["--stdio"],
"env": {
"SPLITWISE_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
重新启动Claude Desktop并测试:
"Show me my Splitwise friends"
"List my recent expenses"
"Create a $50 dinner expense split equally"
选项B:VS代码与GitHub副本
安装 拆分MCP VS代码扩展:
# Install the VS Code extension
code --install-extension splitwise-mcp-1.0.0.vsix
在VS Code设置中配置您的访问令牌,然后使用Copilot Chat:
"Show my Splitwise balance"
"Add a $30 grocery expense to my Roommates group"
看 VS代码扩展README 详细设置。
选项C:自定义MCP客户端
服务器使用stdio传输并遵循MCP规范。连接任何MCP客户端:
// Example: Using MCP SDK Client
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
const transport = new StdioClientTransport({
command: 'splitwise-mcp-server',
env: { SPLITWISE_ACCESS_TOKEN: 'your_token' }
});
const client = new Client({ name: 'my-client', version: '1.0.0' }, { capabilities: {} });
await client.connect(transport);
const tools = await client.listTools();
可用工具
用户管理
splitwise_get_current_user-获取您的个人资料信息splitwise_get_user-获取其他用户的信息splitwise_update_user-更新配置文件设置
群组管理
splitwise_get_groups-列出所有组splitwise_get_group-获取组详细信息splitwise_create_group-创建新组splitwise_delete_group-删除组splitwise_restore_group-还原已删除的组splitwise_add_user_to_group-将成员添加到组splitwise_remove_user_from_group-从组中删除成员
好友管理
splitwise_get_friends-列出所有有余额的朋友splitwise_get_friend-获取好友详细信息splitwise_add_friend-添加单身朋友splitwise_add_friends-添加多个好友splitwise_remove_friend-删除好友
费用管理
splitwise_get_expenses-列出/筛选费用splitwise_get_expense-获取费用明细splitwise_create_expense-创建费用(相等或自定义分割)splitwise_update_expense-更新费用splitwise_delete_expense-删除费用splitwise_restore_expense-恢复已删除的费用
评论
splitwise_get_comments-获取费用备注splitwise_add_comment-在费用中添加注释splitwise_delete_comment-删除评论
通知
splitwise_get_notifications-获取最近的活动
公用事业
splitwise_get_currencies-获取支持的货币splitwise_get_categories-获取费用类别
用法示例
查看余额:
"What do I owe each of my friends?"
"Show me my Splitwise balance"
创建费用:
"Add a $60 grocery expense split equally in my Roommates group"
"I paid $100 for dinner - I owe $40, John owes $60"
"Create a $1200 monthly rent expense split equally"
管理组:
"Create a group called 'Vegas Trip' and add alice@email.com"
"Who's in my Apartment group?"
"Show me all expenses in the Weekend Getaway group"
过滤费用:
"Show me restaurant expenses from last month"
"List all expenses over $100"
"What did I spend the most on this year?"
故障排除
身份验证失败:
- 验证令牌
.env匹配其中一个claude_desktop_config.json - 令牌周围没有额外的空格或引号
- 令牌尚未过期-请使用重新生成
npm run get-token
找不到服务器:
- 在配置中使用绝对路径
- Windows:使用
\\(双反斜杠) - 跑
npm run build代码更改后 - 路径应指向
dist/index.js不src/index.ts
Claude中未出现的工具:
- 验证JSON语法
claude_desktop_config.json - 完全关闭并重新启动Claude Desktop(检查系统托盘)
- 检查克劳德桌面日志:帮助→ 显示日志
授权码已过期:
- 代码将在10分钟后过期
- 获取新代码并立即交换
- 使用令牌助手脚本自动执行以下操作:
npm run get-token
有关详细的设置说明,请参阅 设置.md
服务器模式
Splitwise MCP服务器支持多种部署模式:
Websocket模式(默认)
npm run dev:ws
# or
PORT=4001 npm start
- 在端口4001上启动(可通过配置
PORT任何人) - 使用WebSocket+HTTP JSON-RPC协议
- 建议用于生产部署
- 可以与HTTP适配器一起用于远程访问
标准模式
npm run dev:stdio
# or
npm start -- --stdio
- 使用标准输入/输出(经典MCP协议)
- 有利于直接客户端集成
- 默认模式为
--stdio旗帜传递 - 建议用于Claude Desktop
HTTP适配器模式
npm run dev:adapter
# or in another terminal while WebSocket server is running:
WS_BACKEND_URL=ws://localhost:4001 npm run adapter
- 在端口4000上运行(可通过配置
PORT任何人) - 将HTTP/JSON-RPC请求代理到WebSocket后端
- 提供用于测试的HTTP端点:
GET /health-健康检查GET /status-后端连接状态GET /listTools-列出可用工具POST /rpc-JSON-RPC请求端点POST /-替代JSON-RPC端点WS /-WebSocket升级端点
发展
# Install dependencies
npm install
# Build TypeScript
npm run build
# Watch mode (auto-rebuild)
npm run watch
# WebSocket mode (default)
npm run dev:ws
# Stdio mode
npm run dev:stdio
# HTTP Adapter mode (in separate terminal with backend running)
npm run dev:adapter
# Get OAuth token
npm run get-token
开发与运行
地方发展
# Terminal 1: Start WebSocket backend
PORT=4001 npm run build
PORT=4001 npm run dev:ws
# Terminal 2: (Optional) Start HTTP adapter
PORT=4000 npm run dev:adapter
# Terminal 3: Test the server
curl http://localhost:4000/health
curl http://localhost:4000/listTools
使用克劳德桌面(WebSocket)
- 配置如上文“选项A:Claude桌面”所示
- 运行服务器:
PORT=4001 npm start - 重新启动克劳德桌面
配备克劳德桌面(Stdio)
- 配置为
--stdio如上所示的标志 - 运行服务器:
npm start -- --stdio - 重新启动克劳德桌面
项目结构
SplitwiseMCPServer/
├── src/
│ ├── index.ts # Main MCP server (WebSocket + Stdio modes)
│ ├── http-adapter.ts # HTTP adapter for WebSocket backend
│ ├── splitwise-client.ts # Splitwise API wrapper
│ ├── tools.ts # Tool definitions (26 tools)
│ └── get-token.ts # OAuth helper script
├── dist/ # Compiled output
├── .env # Your credentials (not in git)
├── package.json
└── tsconfig.json
API 参考
所有工具都遵循Splitwise API v3.0规范: dev.splitwise.com
基本URL: https://secure.splitwise.com/api/v3.0
认证:OAuth 2.0承载令牌
安全
- 永不承诺
.env到版本控制 - 保持您的访问令牌私有
- 使用环境变量作为凭据
- 设置适当的文件权限:
chmod 600 .env(Unix/Mac)
需求
- Node.js: 18+
- NPM:最新
- 拆分帐户:免费或付费
许可证
麻省理工学院
相关
- 拆分MCP VS代码扩展 -可选的VS代码集成
- Splitwise API文档 -API官方参考
- 模型上下文协议 -MCP规范
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
支持
- 问题: GitHub问题
- API花键: dev.splitwise.com
- MCP文件: 模型上下文协议.io
许可证
MIT许可证-有关详细信息,请参阅许可证文件
内置:TypeScript 5.3,MCP SDK 1.20.1,Axios 1.6.0