Asaas MCP服务器
MCP 服务器,可从 Asaas OpenAPI 动态生成工具,并通过 STDIO/JSON-RPC 执行实际调用。
要求
- Node.js 24+
SANDBOX_API_KEY或ASAAS_API_KEY不.env(默认沙箱)
使用
npm run devJSON-RPC(单行)消息示例:
- 工具列表 :
{"id":1,"method":"list_tools"}- 调用工具( 例如列出客户端) :
{"id":2,"method":"call_tool","params":{"name":"asaas_customer_list-customers","arguments":{"query":{"limit":1}}}}环境变量
ASAAS_ENV:sandbox(默认)ouproduction.ASAAS_BASE_URL:覆盖do-baseUrl。ASAAS_API_KEY/SANDBOX_API_KEY标头(Header)access_token).ASAAS_TIMEOUT_MS请求超时(default 10000)。ASAAS_RETRY_ATTEMPTS,ASAAS_RETRY_BACKOFF_MS,ASAAS_RETRY_MAX_BACKOFF_MS重试策略(429/网络错误)。ASAAS_SPEC_PATH使用本地OpenAPI而不是下载。ASAAS_SPEC_CACHE_ONLY:setrue不做 HEAD/GET 请求只使用本地缓存(如果缓存不存在则失败)。ASAAS_LOG=debugstderr 中的启动/运行日志(用于调试 Codex 中的握手)。ASAAS_LOG_FILE=/tmp/asaas-mcp.log可选: 镜像文件中的日志以进行脱机调试。ASAAS_TOOL_LIMIT: 可选, 返回工具的最大数量tools/list(用于测试较低有效载荷的握手)。ASAAS_TOOL_FILTER: 可选,以逗号分隔的子字符串列表,以便按名称过滤工具(大小写不敏感)。ASAAS_SCHEMA_MINIMAL:setrue,模式作为工具fiam{type:object}减少payload。ASAAS_LSP_FRAMING:setrue,美国帧comContent-Length(LSP/MCP风格)。默认情况下,每行使用 JSON (\n).
动态 OpenAPI
- 官方来源:
https://www.asaas.com/openApi/document?version=3&languageCode=en-US. - 缓存em
cache/asaas-openapi.json+meta(etag,lastModified,sha256).无法启动触手If-None-Match/If-Modified-Since如果更改,则自动下载并重新生成工具。 - 使用
ASAAS_SPEC_CACHE_ONLY=true离线运行/无需远程检查(需要预先存在的缓存)或ASAAS_SPEC_PATH到本地文件。
公约
- 工具名称 :
asaas__(例如:asaas_customer_list-customers). - 输入方案组
path,queryebody根据spec。 - 默认用户代理 :
asaas-mcp/.
脚本
npm run setup--instala depsnpm run fmt--更漂亮npm run lint-埃斯林特npm test--Vitestnpm run dev--信息或服务MCP(STDIO/JSON-RPC)
待办事项/想法
- 解决温和的警告
npm audit. - 可选:解决
$ref使用OpenAPI来丰富工具方案。 - 添加真正的集成测试( 只有当
SANDBOX_API_KEY已设定)。\
测试者de mcp:npx@modelcontextprotocol/检查器node_modules/.bin/tsx src/server.ts
