MCP-ATP:IQ AI代理令牌化平台的模型上下文协议服务器
该项目实现了一个模型上下文协议(MCP)服务器,用于与IQ AI代理令牌化平台(ATP)进行交互。它允许MCP兼容的客户端(如AI助手、IDE扩展或自定义应用程序)访问ATP功能,如查看代理统计数据、管理令牌头寸、交易代理令牌和处理代理日志。
此服务器使用TypeScript构建 fastmcp.
功能(MCP工具)
服务器公开了MCP客户端可以使用的以下工具:
ATP_AGENT_STATS:获取特定AI代理的统计数据和详细信息。
- 参数: tokenContract (字符串)
ATP_GET_AGENT_POSITIONS:检索用户当前持有的ATP AI代币。
- 需要 WALLET_PRIVATE_KEY 在环境中。
ATP_BUY_AGENT:使用IQ作为基础货币购买AI代理代币。
- 参数: tokenContract (字符串), amount (字符串) - 需要 WALLET_PRIVATE_KEY 在环境中。
ATP_SELL_AGENT:将AI代理令牌卖回协议。
- 参数: tokenContract (字符串), amount (字符串) - 需要 WALLET_PRIVATE_KEY 在环境中。
ATP_GET_AGENT_LOGS:检索特定AI代理的日志,并进行分页。
- 参数: agentTokenContract (字符串), page (数字,可选), limit (数字,可选)
ATP_ADD_AGENT_LOG:为特定AI代理添加新的日志条目。
- 参数: agentTokenContract (字符串), content (字符串), apiKey (字符串), txHash (字符串,可选), chainId (数字,可选) - 注: apiKey 因为此工具作为参数直接由调用客户端传递,而不是从服务器环境传递。
- (即将推出)
ATP_GET_AGENTS:列出可用于交易的AI代理。
先决条件
- Node.js(建议使用v18或更新版本)
- npm(附带Node.js)
安装与建造
- 克隆存储库(如果适用):
git clone https://github.com/IQAIcom/mcp-atp.git
cd mcp-atp- 安装依赖项:
npm install- 构建服务器:
这将TypeScript代码编译为JavaScript dist 目录。
npm run build这 prepare 脚本也会运行 npm run build,因此依赖关系是在安装时建立的。
配置(环境变量)
此MCP服务器要求运行它的MCP客户端设置某些环境变量。这些通常在客户端的MCP服务器定义中配置(例如,在 mcp.json 用于Cursor的文件或用于其他客户端的类似文件)。
WALLET_PRIVATE_KEY:(必需ATP_GET_AGENT_POSITIONS,ATP_BUY_AGENT,ATP_SELL_AGENT)
- 用于与ATP平台交互的钱包私钥(例如,获取头寸、签署买卖代币的交易)。 - 安全说明: 请极其小心地处理此私钥。确保其安全存储,并且仅提供给受信任的MCP客户端配置。
ATP_API_KEY:(某些服务可能需要,例如,如果AgentStatsService或其他服务的后端API调用需要它——目前,ATP_ADD_AGENT_LOG将其作为直接参数)。
- 用于访问某些IQ ATP后端服务的API密钥。
ATP_USE_DEV:(可选,如果未设置或未设置,则默认为生产'true')
- 吃起来 "true" 使用开发API端点和ATP的合同地址。 - 任何其他值或如果省略,将使用生产端点。
使用MCP客户端运行服务器
MCP客户端(如AI助手、IDE扩展等)将此服务器作为后台进程运行。您需要配置客户端,告诉它如何启动服务器。
下面是MCP客户端可能使用的示例配置片段(例如,在 mcp_servers.json 或类似的配置文件)。此示例显示了如何使用以下命令运行服务器 tsx 对于实时TypeScript开发,可以进行类似的配置来运行构建的JavaScript版本。
{
"mcpServers": {
"iq-atp-mcp-server": { // A unique name for your server instance
"command": "npx",
"args": [
"tsx",
"/path/to/your/mcp-atp/src/index.ts" // Absolute path to the server's entry point (for tsx)
// For built version: "node", "/path/to/your/mcp-atp/dist/index.js"
// Or if globally linked/published: "mcp-atp"
],
"env": {
"WALLET_PRIVATE_KEY": "your_ethereum_private_key_here",
"ATP_API_KEY": "your_iq_atp_api_key_if_needed_by_server_env",
"ATP_USE_DEV": "false" // or "true"
},
"workingDirectory": "/path/to/your/mcp-atp" // Absolute path to the project's root directory
}
// ... other MCP server configurations
}
}客户端配置字段说明:
command:要运行的可执行文件(例如。,npx,node,或者服务器的二进制名称(如果全局安装)。args:要传递给命令的参数数组。
- 对于 tsx: ["tsx", "/path/to/src/index.ts"] - 对于 node (内置版本): ["/path/to/dist/index.js"] - 如果您的包裹已链接(npm link)或在全球范围内安装 bin 报关进口 package.json 是 mcp-atp:命令可以是 mcp-atp 与空 args (或 npm start 从项目目录中)。
env:一个包含服务器进程启动时要设置的环境变量的对象。这是你提供的地方WALLET_PRIVATE_KEY,ATP_API_KEY(如果服务器环境需要),以及ATP_USE_DEV.workingDirectory:执行命令的目录。这应该是你的根mcp-atp项目。
发展
- 观看模式:
npm run watch(根据更改编译TypeScript)。
- 直接使用tsx运行(需要
tsx可用):
# Ensure environment variables are set appropriately for your shell if testing this way
WALLET_PRIVATE_KEY="your_key" ATP_USE_DEV="true" npx tsx src/index.ts发布到 npx
一旦服务器稳定并构建完成:
- 确保您的
package.json有正确的bin字段指向dist/index.js和那个files阵列包括"dist".
- 发布到npm:
npm publish发布后,用户应该能够通过以下方式运行您的服务器 npx mcp-atp (如果 mcp-atp 这个名字在你的 bin 字段,与您的包名称匹配,或者是在中定义的唯一命令 bin).然后,MCP客户端配置将简单地使用 "command": "npx", "args": ["mcp-atp"] (或您选择的包名称)。
______________________________________________________________________
*此README提供了一个通用指南。客户端配置的具体细节可能因不同的MCP兼容应用程序而异。*

