1货币MCP
1Money API的MCP(stdio),与当前OpenAPI表面对齐,并作为分组MCP工具公开。
此MCP服务器的功能
- 将1Money API运营作为MCP工具(资产、客户、转换、提款、交易等)进行展示。
- 标准化请求输入,以便MCP客户端可以在没有SDK特定粘合代码的情况下调用工具。
- 通过环境变量或
~/.onemoney/credentials. - 发送JSON模式(
schemas/tools.json)用于工具发现、验证和客户端生成。
整合
光标(一键安装)
一键安装:将MCP添加到游标。
安装后,将您的凭据添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"1money": {
"command": "npx",
"args": ["-y", "@1money/mcp"],
"env": {
"ONEMONEY_ACCESS_KEY": "your-access-key",
"ONEMONEY_SECRET_KEY": "your-secret-key",
"ONEMONEY_SANDBOX": "1"
}
}
}
}注: ONEMONEY_SECRET_KEY 非沙盒使用需要。当 ONEMONEY_SANDBOX=1,访问密钥就足够了。
克劳德代码
在终端中运行以下命令:
claude mcp add --transport stdio 1money --env ONEMONEY_ACCESS_KEY=your-access-key --env ONEMONEY_SECRET_KEY=your-secret-key --env ONEMONEY_SANDBOX=1 -- npx -y @1money/mcp克劳德桌面
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\\Claude\\claude_desktop_config.json
{
"mcpServers": {
"1money": {
"command": "npx",
"args": ["-y", "@1money/mcp"],
"env": {
"ONEMONEY_ACCESS_KEY": "your-access-key",
"ONEMONEY_SECRET_KEY": "your-secret-key",
"ONEMONEY_SANDBOX": "1"
}
}
}
}法典
将MCP服务器添加到Codex配置文件中,然后重新启动Codex:
[mcp_servers.1money]
command = "npx"
args = ["-y", "@1money/mcp"]
env = { ONEMONEY_ACCESS_KEY = "your-access-key", ONEMONEY_SECRET_KEY = "your-secret-key", ONEMONEY_SANDBOX = "1" }本地指挥
- 生产:
node dist/index.js - 发展:
npm run dev
通过环境变量传递凭据(见下文)。
注: ONEMONEY_SECRET_KEY 非沙盒使用需要。当 ONEMONEY_SANDBOX=1,访问密钥就足够了。
环境变量
ONEMONEY_ACCESS_KEY:访问密钥(必需)ONEMONEY_SECRET_KEY:密钥(非沙盒需要)ONEMONEY_BASE_URL:API基本URL(默认值https://api.sandbox.1money.com)ONEMONEY_SANDBOX:沙盒模式(1或true)ONEMONEY_PROFILE:凭据文件配置文件(默认default)ONEMONEY_TIMEOUT_MS:请求超时(毫秒)(默认30000)
服务器还读取 ~/.onemoney/credentials 其优先级低于env-vars。
示例提示
资产
- “在US_ACH上列出客户cus_123的美元资产。”
客户
- “为客户cus_123创建TOS链接并返回会话令牌。”
- “使用会话令牌tok_123为客户cus_123签署TOS协议。”
- “通过电子邮件创建一个名为Jane Doe的客户jane@example.com."
- “列出前20个客户。”
- “获得客户cus_123。”
- “用电话+1-415-555-0100更新客户cus_123。”
客户关联人员
- “为客户cus_123创建一个名为John Doe的关联人员。”
- “列出客户cus_123的关联人员。”
- “为客户cus_123获取关联人员ap_123。”
- “用电话+1-415-555-0100更新客户cus_123的关联人员ap_123。”
- “删除客户cus_123的关联人员ap_123。”
客户中介
- “列出客户cus_123的中介机构。”
- “为客户cus_123创建名为Global Holdings有限公司的中介机构”
- “更新客户cus_123的中介int_123。”
客户.轻量级
- “创建一个轻量级的个人客户alice@example.com."
- “获取使用幂等性密钥lw-001创建的轻量级客户。”
- “获得托管客户cus_123。”
- “为客户cus_123创建入职链接。”
- “为客户cus_123创建入职补助金。”
外部计数
- “在US_ACH上为客户cus_123创建一个外部帐户。”
- “为客户cus_123获取外部帐户ext_123。”
- “通过客户cus_123的幂等性密钥extacct-001获取外部帐户。”
- “列出客户cus_123的外部帐户。”
- “删除客户cus_123的外部帐户ext_123。”
指示
- “在以太坊上获取客户cus_123的USDC存款说明。”
- “在以太坊上为客户cus_123创建加密存款指令。”
- “列出客户cus_123的所有加密货币存款说明。”
- “通过幂等性密钥desinst-001获取加密存款指令。”
转化
- “为客户cus_123创建100.00美元到USDC的转换报价。”
- “为转换报价convq_123创建套期保值。”
- “通过transaction_id txn_123获取转换订单。”
auto_conversion_rules
- “为客户cus_123创建自动转换规则,每天将美元转换为美元兑加元。”
- “获取自动转换规则acr_123。”
- “通过幂等性密钥acr-001获取自动转换规则。”
- “列出客户cus_123的自动转换规则。”
- “删除自动转换规则acr_123。”
- “列出规则acr_123的自动转换规则顺序。”
- “获取自动转换规则顺序acro_123。”
提款
- “为客户cus_123创建100美元的提款到外部账户ext_123。”
- “获取提款txn_123。”
- “通过幂等性密钥withdrawal-001获取撤回。”
交易
- “列出客户cus_123的最近10笔交易。”
- “获取交易txn_123。”
转账
- “创建从客户cus_123到客户cus_456的100美元转账。”
- “获取转账txn_123。”
- “通过幂等密钥transfer-001获取传输。”
费用
- “估算客户cus_123在US_ACH上100美元的提款费。”
收件人
- “更新客户cus_123的收件人rcp_123。”
- “将收件人附加到客户cus_123的外部帐户ext_123。”
- “更新收件人rcp_123的银行账户bank_123。”
模拟
- “为客户cus_123在以太坊上模拟50美元的USDC存款。”
回声
- “调用echo.get并返回响应。”
- 用{“hello”:“world”}呼叫echo.post
API 参考
输入约定
- 路径参数是顶级字段(例如。
customer_id,transaction_id) - 查询参数放置在
params - 请求机构被放置在
request - 创建支持幂等性的流,将其作为
request.idempotency_key,转换为Idempotency-Key *.get_by_idempotency_key工具保管idempotency_key在最高层conversions.get_order使用顶级transaction_id
工具
- 资产:
assets.list - 客户:
customer.create_tos_link,customer.sign_tos_agreement,customer.create,customer.list,customer.get,customer.update - 客户关联人员:
create,list,get,update,delete - 客户中介:
list,create,get,update,delete - customer.轻量级:
get_by_idempotency_key,create,get - customer.onbarding_links:
create - 客户登机费用:
create - 外部计数:
create,get,get_by_idempotency_key,list,remove - 收件人:
recipients.create,recipients.list,recipients.get,recipients.update,recipients.delete,recipients.get_by_idempotency_key,recipients.get_by_external_account - 收件人bank_accounts:
get_by_idempotency_key,create,list,update,delete - 说明:
instructions.get_deposit_instruction - instructions.crypto:
list,get_by_idempotency_key,create,get - 转换:
conversions.create_quote,conversions.create_hedge,conversions.get_order - auto_conversion_rules:
create,get,get_by_idempotency_key,list,delete,list_orders,get_order - 提款:
withdrawals.create,withdrawals.get,withdrawals.get_by_idempotency_key - 交易:
transactions.list,transactions.get - 转移:
transfers.get,transfers.get_by_idempotency_key,transfers.create - 费用:
fees.estimate - 模拟:
simulations.simulate_transaction - 回声:
echo.get,echo.post
模式
schemas/tools.json是工具输入的源JSON模式。schemas/tool-responses.json是工具响应的源JSON模式。
示例
{
"tool": "assets.list",
"input": {
"customer_id": "cus_123",
"params": {
"asset": "USD",
"network": "US_ACH"
}
}
}{
"tool": "withdrawals.create",
"input": {
"customer_id": "cus_123",
"request": {
"idempotency_key": "withdrawal-001",
"amount": "100.00",
"asset": "USD",
"network": "US_ACH",
"external_account_id": "ext_123"
}
}
}模式生成
schemas/tools.json 和 schemas/tool-responses.json 是JSON模式源。使用 json-schema-to-zod 再生 src/schemas/zod.ts:
npm run generate-schemas要与新的OpenAPI文件进行差异化和同步,请执行以下操作:
npm run openapi:map -- /path/to/swagger.json
npm run openapi:sync -- /path/to/swagger.json
npm run generate-schemas
npm run build