关于 AIMarket MCP Gateway
AIMarket MCP Gateway 是面向 Agent 的 Python MCP 服务,提供网页检索、答案验证和 AIMarket Hub 能力调用。它支持 stdio 与 Streamable-HTTP,并为自托管部署提供安全控制。
主要功能
- 01带 SSRF 防护的网页抓取
- 02DuckDuckGo 网页搜索
- 03Metis 答案验证
- 04AIMarket 能力搜索与调用
- 05试用额度和余额查询
适用场景
- 01获取并清理网页内容
- 02通过 MCP 客户端搜索网页
- 03使用 Metis 验证答案并查看分数
- 04查找并调用 AIMarket Hub 能力
MCP 相关
通过 stdio 或 Streamable-HTTP 向 MCP 客户端提供六种工具:web_fetch、web_search、metis_verify、market_search、market_invoke 和 market_status。HTTP 部署支持 Bearer 身份验证和请求速率限制。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://{aimarket_host}/mcpclaude mcp add --transport http alexar76-aimarket https://{aimarket_host}/mcp{"mcpServers":{"alexar76-aimarket":{"type":"http","url":"https://{aimarket_host}/mcp"}}}在 Cursor 中打开{"servers":{"alexar76-aimarket":{"type":"http","url":"https://{aimarket_host}/mcp"}}}在 VS Code 中打开{"mcpServers":{"alexar76-aimarket":{"type":"http","url":"https://{aimarket_host}/mcp"}}}{"mcpServers":{"alexar76-aimarket":{"serverUrl":"https://{aimarket_host}/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://{aimarket_host}/mcp需要授权工具
详细介绍
🔄 从单体仓库同步而来,但保留完整历史。
aimarket-mcp镜像了规范的 AI-Factory 单体仓库。此处的历史仅追加(不强制推送)。 欢迎提交拉取请求——合并的 PR 会导入回单体仓库,并重新同步到此处,因此你的贡献将成为规范版本。 💬 欢迎提交问题 · 欢迎提交拉取请求。
aimarket-mcp — 生态系统 MCP 网关
🟢 只想试试市场?无需安装任何东西。
将
https://modelmarket.dev/mcp粘贴到你的 MCP 客户端中,即可通过实时中心使用market_search和market_invoke,每位调用者可免费试用几次,并会收到每次调用对应的签名收据——无需钱包、密钥或安装。 →docs/hosted-mcp-endpoint.md如果你想使用另外三个工具(
web_fetch、web_search、metis_verify),或想让市场工具指向你自己的中心,请安装此软件包。
一个 MCP 网关。五个经过加固的工具。供 Metis、ARGUS 和整个生态系统共享。
传输方式:面向 Glama / Claude Desktop / Cursor 的 stdio(aimarket_mcp/stdio_server.py),使用官方 Model Context Protocol Python SDK 构建(mcp、FastMCP)。
此外,还提供用于自托管部署的 :9090 端口 Streamable-HTTP(aimarket-mcp-http、Docker Compose)。
| 项目 | 位置 |
|---|---|
| MCP 入口点(stdio) | aimarket_mcp/stdio_server.py |
| MCP 网关(HTTP) | aimarket_mcp/server.py |
| 工具处理程序 + 安全 | aimarket_mcp/tools.py、aimarket_mcp/security.py |
| Glama / Docker(stdio) | Dockerfile、glama.json |
| 自托管 HTTP | Dockerfile.http、docker-compose.yml |
兼容的宿主:Claude Desktop、Cursor、Glama,以及任何支持 stdio 或 Streamable-HTTP 的 MCP 客户端。
工具
| 工具 | 功能 | 安全加固 |
|---|---|---|
web_fetch | 获取 URL,返回主要文本(readability-lite) | 防护 SSRF;输出经过清理并以 <untrusted> 包裹 |
web_search | DuckDuckGo 实时搜索 → 返回顶部摘要 | 输出经过清理并以 <untrusted> 包裹 |
metis_verify | Metis 认知与验证封装 | 返回答案以及 verify_score / verified 门控结果 |
market_search | 在 AIMarket Hub 上发现明码标价的能力 | 免费;无需钱包、密钥或渠道;Hub 仅列出它能执行的内容 |
market_invoke | 在 Hub 的免费试用层运行一次 | 返回签名回执 nonce;额度用尽时逐字报告 Hub 返回的 402 错误 |
market_status | 显示剩余免费试用调用次数和预付余额 | 只读;显示 Hub 的运行状况、本安装在当前时段内剩余的试用额度,以及设置后 AIMARKET_API_KEY 的余额(绝不显示密钥) |
示例 — 购买一次 GAIA Open-Meteo 读取
market_search_tool(intent="gaia weather open-meteo")
market_invoke_tool(
capability_id="gaia.weather.read@v1",
product_id="gaia.gateway",
source_hub="https://iot.modelmarket.dev",
# input JSON with device_id om-wx-01 — see tool schema / hub docs
)
或使用该工具封装的同一 HTTP 请求:
curl -s -X POST "${AIMARKET_HUB_URL:-https://modelmarket.dev}/ai-market/v2/invoke" \
-H 'Content-Type: application/json' \
-H 'X-AIMarket-Sandbox-Visitor: vis_mcp_om_wx' \
-d '{"capability_id":"gaia.weather.read@v1","product_id":"gaia.gateway",
"source_hub":"https://iot.modelmarket.dev","input":{"device_id":"om-wx-01"}}'
这是简便路径(试用/沙盒)。证明外部钱包已在链上付款,则需要单独的托管流程(openChannel → DebitAuthorization → Hub 扣款/结算)——参见 docs/onchain-journal.md §3l–§3m 和
gaia/docs/LIVE-RELAYS.md。
为何采用网关(而非面向每个 Agent 的工具):通用能力只需编写一次;安全核心集中在一个经过审计的位置。特定生态系统的能力则由各自的 MCP 服务提供(aimarket-oracle-gateway、aimarket-plugins)。
配置(env)
| 变量 | 含义 |
|---|---|
AIMARKET_METIS_URL | Metis 验证 API 基础 URL(默认 https://metis.modelmarket.dev) |
AIMARKET_METIS_KEY | Metis 验证的可选 Bearer 密钥 |
AIMARKET_SEARCH_URL | DuckDuckGo HTML 端点覆盖值 |
AIMARKET_HUB_URL | market_search / market_invoke 使用的 AIMarket Hub(默认 https://modelmarket.dev) |
AIMARKET_API_KEY | 来自 Hub /start 页面的信用账户密钥(https://modelmarket.dev/start):付费的 market_invoke 调用会从其预付余额中扣款;余额不足时仍可使用免费试用。在 HTTP 模式下,它会为该服务的每个调用方付费 |
AIMARKET_SANDBOX_VISITOR | market_invoke 的试用身份;每次安装都会随机生成,设置此值可在重新安装后保留额度 |
AIMARKET_MCP_KEY | 仅限 HTTP — Bearer 身份验证密钥。未设置时,服务只响应本机用户发出的请求:来自回环地址的数据包、回环 Host、无转发标头、无跨站浏览器 Origin;在 Linux 上,套接字还必须由运行服务的用户拥有。最后一项检查会拒绝同一台机器上以自身用户运行工作进程的反向代理:nginx 的默认 proxy_pass 会发送回环 Host,且不带转发标头。无论使用何种反向代理,都应设置密钥:以服务自身用户运行的代理,或任何运行在 macOS 或 Windows 上的代理,仍会被视为本地请求。在 HTTP Docker 镜像中(调用方来自网桥),所有未设置密钥的调用都会收到 401:请设置密钥或设为 AIMARKET_MCP_PUBLIC=1 |
AIMARKET_MCP_PUBLIC | 仅限 HTTP — 设为 1 时,无需密钥即可响应来自任何位置的匿名调用方(这是对公共端点的显式选择) |
AIMARKET_MCP_HOST | 仅限 HTTP — 监听地址(默认 127.0.0.1;HTTP 镜像设为 0.0.0.0) |
AIMARKET_MCP_PRODUCTION | 仅限 HTTP — 设为 1 时要求设置 AIMARKET_MCP_KEY(失败时默认拒绝) |
AIMARKET_MCP_RATE | 仅限 HTTP — 每个密钥/IP 每分钟的请求数(默认 120) |
AIMARKET_MCP_PORT | 仅限 HTTP — 监听端口(默认 9090) |
运行(stdio — Glama / Claude Desktop)
Claude Desktop(mcpServers 条目)——无需克隆,也不用担心工作目录配置错误:
{
"mcpServers": {
"aimarket-mcp": {
"command": "uvx",
"args": ["aimarket-mcp"]
}
}
}
uvx 会获取已发布的包并运行其 aimarket-mcp 控制台脚本,即 stdio 服务。若已安装该包,设置 "command": "aimarket-mcp" 且不传入任何参数,效果相同。
从代码检出目录运行以进行开发:
pip install -e .
python -m aimarket_mcp.stdio_server
运行(HTTP — 自托管)
pip install -e .
AIMARKET_MCP_KEY=sk-... AIMARKET_MCP_PRODUCTION=1 aimarket-mcp-http # :9090
# or: docker compose up -d (uses Dockerfile.http)
Cursor / Claude(Streamable HTTP)
{
"mcpServers": {
"aimarket-web": {
"type": "streamable-http",
"url": "http://127.0.0.1:9090/mcp",
"headers": {
"Authorization": "Bearer YOUR_AIMARKET_MCP_KEY"
}
}
}
}
在 Glama 上发布
项目页面:aimarket-mcp。 Glama 会根据其管理面板中的构建设置生成容器:
| 字段 | 值 |
|---|---|
| 构建步骤 | ["bash scripts/glama_install.sh"] |
| CMD 参数 | ["mcp-proxy", "--", ".venv/bin/python", "-m", "aimarket_mcp.stdio_server"] |
| 占位参数 | {} |
| 固定的提交 SHA | 空(最新同步的提交) |
同步源代码更改后,构建、检查并发布版本。仅同步仓库不会刷新已部署的工具目录或质量评估。 目录应包含上文列出的全部六个工具。 请参阅 Glama 构建和发布说明。
使用方
- 已成功连接?请使用分享与展示模板分享你的主机、配置和一个可正常运行的工具。
- Metis — 启用预设:
enable_mcp_tools: true mcp_ecosystem_presets: [aimarket-web] - ARGUS — 将服务添加到
argus.config.json的mcpServers中(参见对应仓库)。
测试
pip install -e '.[dev]' && pytest -q
注册目录
提交或刷新条目之前,请参阅目录提交检查清单和当前状态。
| 注册目录 | 项目页面 |
|---|---|
| Glama | glama.ai/mcp/servers/alexar76/aimarket-mcp |
| Official MCP Registry | io.github.alexar76/aimarket-mcp — server.json + GitHub Actions |
| PyPI | pip install aimarket-mcp |
| GitHub Releases | github.com/alexar76/aimarket-mcp/releases |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。