AIMarket MCP Gateway
Stdio + HTTP MCP gateway: SSRF-hardened web_fetch, web_search, metis_verify, market_search.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http aimarket-mcp-gateway 'https://{aimarket_host}/mcp' --header 'Authorization: <Bearer token matching AIMARKET_MCP_KEY when auth is enabled>'
{
"mcpServers": {
"aimarket-mcp-gateway": {
"type": "http",
"url": "https://{aimarket_host}/mcp",
"headers": {
"Authorization": "<Bearer token matching AIMARKET_MCP_KEY when auth is enabled>"
}
}
}
}
aimarket-mcpclaude mcp add aimarket-mcp-gateway -e 'AIMARKET_METIS_URL=<AIMARKET_METIS_URL>' -e 'AIMARKET_METIS_KEY=<your aimarket_metis_key>' -e 'AIMARKET_SEARCH_URL=<AIMARKET_SEARCH_URL>' -e 'AIMARKET_API_KEY=<your aimarket_api_key>' -- uvx aimarket-mcp==0.4.0
{
"mcpServers": {
"aimarket-mcp-gateway": {
"command": "uvx",
"args": [
"aimarket-mcp==0.4.0"
],
"env": {
"AIMARKET_METIS_URL": "<AIMARKET_METIS_URL>",
"AIMARKET_METIS_KEY": "<your aimarket_metis_key>",
"AIMARKET_SEARCH_URL": "<AIMARKET_SEARCH_URL>",
"AIMARKET_API_KEY": "<your aimarket_api_key>"
}
}
}
}
متغيرات البيئة
AIMARKET_METIS_URLMetis verify API base URLAIMARKET_METIS_KEYسري Optional bearer token for Metis verifyAIMARKET_SEARCH_URLDuckDuckGo HTML search endpoint overrideAIMARKET_API_KEYسري Optional key from https://modelmarket.dev/start: pays priced market_invoke calls from a prepaid USDC balance once the free trial is spent
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
🔄 Synced from a monorepo — but with a live history.
aimarket-mcpmirrors the canonical AI-Factory monorepo. History here is append-only (no force-push). Pull requests are welcome — merged PRs are imported back into the monorepo and re-synced here, so your contribution becomes canonical. 💬 Issues · Pull requests both welcome.
aimarket-mcp — ecosystem MCP gateway
🟢 Just want to try the marketplace? Install nothing.
Paste
https://modelmarket.dev/mcpinto your MCP client and you havemarket_searchandmarket_invokeagainst the live hub, with a few free trial invokes per caller and a signed receipt for each — no wallet, no key, no install. →docs/hosted-mcp-endpoint.mdInstall this package when you want the other three tools (
web_fetch,web_search,metis_verify), or want to point the market tools at a hub of your own.
One MCP gateway. Five hardened tools. Shared by Metis, ARGUS, and the ecosystem.
Transport: stdio (aimarket_mcp/stdio_server.py) for Glama / Claude Desktop / Cursor, built with the
official Model Context Protocol Python SDK (mcp, FastMCP).
Also ships Streamable-HTTP on :9090 for self-hosted deployments (aimarket-mcp-http, Docker Compose).
| Item | Location |
|---|---|
| MCP entrypoint (stdio) | aimarket_mcp/stdio_server.py |
| MCP gateway (HTTP) | aimarket_mcp/server.py |
| Tool handlers + security | aimarket_mcp/tools.py, aimarket_mcp/security.py |
| Glama / Docker (stdio) | Dockerfile, glama.json |
| Self-host HTTP | Dockerfile.http, docker-compose.yml |
Compatible hosts: Claude Desktop, Cursor, Glama, and any MCP client that supports stdio or Streamable-HTTP.
Tools
| Tool | What it does | Hardening |
|---|---|---|
web_fetch | Fetch a URL, return main text (readability-lite) | SSRF-guarded; output sanitized + <untrusted>-wrapped |
web_search | Live DuckDuckGo search → top snippets | output sanitized + <untrusted> |
metis_verify | Metis cognition + verification envelope | returns answer + verify_score / verified gate |
market_search | Discover priced capabilities on an AIMarket hub | free; no wallet, key or channel; the hub lists only what it can execute |
market_invoke | Run one on the hub's free trial tier | returns the signed receipt nonce; reports the hub's 402 verbatim when the allowance is spent |
Example — buy a GAIA Open-Meteo reading
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
)
Or the same HTTP the tool wraps:
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"}}'
That is the easy path (trial/sandbox). Proving an external wallet paid on-chain
is a separate escrow flow (openChannel → DebitAuthorization → hub debit/settle) —
see docs/onchain-journal.md §3l–§3m and
gaia/docs/LIVE-RELAYS.md.
Why a gateway (not per-agent tools): generic capabilities are written once; the security core lives in one audited place. Ecosystem-specific capabilities live in their own MCP servers (aimarket-oracle-gateway, aimarket-plugins).
Configure (env)
| var | meaning |
|---|---|
AIMARKET_METIS_URL | Metis verify API base (default https://metis.modelmarket.dev) |
AIMARKET_METIS_KEY | optional bearer for Metis verify |
AIMARKET_SEARCH_URL | DuckDuckGo HTML endpoint override |
AIMARKET_HUB_URL | AIMarket hub for market_search / market_invoke (default https://modelmarket.dev) |
AIMARKET_API_KEY | Credit-account key from the hub's /start page (https://modelmarket.dev/start): priced market_invoke calls are paid from its prepaid balance; while it is short the free trial still applies. In HTTP mode it pays for every caller of that server |
AIMARKET_SANDBOX_VISITOR | Trial identity for market_invoke; random per install, set it to keep an allowance across reinstalls |
AIMARKET_MCP_KEY | HTTP only — bearer auth key |
AIMARKET_MCP_PRODUCTION | HTTP only — 1 requires AIMARKET_MCP_KEY (fail-closed) |
AIMARKET_MCP_RATE | HTTP only — requests/min per key/IP (default 120) |
AIMARKET_MCP_PORT | HTTP only — listen port (default 9090) |
Run (stdio — Glama / Claude Desktop)
Claude Desktop (mcpServers entry) — no clone, no working directory to get wrong:
{
"mcpServers": {
"aimarket-mcp": {
"command": "uvx",
"args": ["aimarket-mcp"]
}
}
}
uvx fetches the published package and runs its aimarket-mcp console script, which is
the stdio server. With the package already installed, "command": "aimarket-mcp" and no
args does the same thing.
From a checkout, for development:
pip install -e .
python -m aimarket_mcp.stdio_server
Run (HTTP — self-host)
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"
}
}
}
}
Publish on Glama
Listing: aimarket-mcp. Glama generates a container from the build settings in its admin panel:
| Field | Value |
|---|---|
| Build steps | ["bash scripts/glama_install.sh"] |
| CMD arguments | ["mcp-proxy", "--", ".venv/bin/python", "-m", "aimarket_mcp.stdio_server"] |
| Placeholder parameters | {} |
| Pinned commit SHA | empty (latest synced commit) |
Build, inspect, and publish a release after syncing source changes. A repository sync alone does not refresh the deployed tool catalog or its quality evaluation. The catalog should contain all five tools listed above. See Glama build and release instructions.
Consumers
- Connected successfully? Share your host, configuration, and one working tool using the Show and tell template.
- Metis — enable the preset:
enable_mcp_tools: true mcp_ecosystem_presets: [aimarket-web] - ARGUS — add the server to
argus.config.jsonmcpServers(see that repo).
Test
pip install -e '.[dev]' && pytest -q
Registries
See the directory submission checklist and current status before submitting or refreshing a listing.
| Registry | Listing |
|---|---|
| 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 |
الأسئلة الشائعة
ما هو AIMarket MCP Gateway؟
Stdio + HTTP MCP gateway: SSRF-hardened web_fetch, web_search, metis_verify, market_search.
كيف أثبّت AIMarket MCP Gateway؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http aimarket-mcp-gateway 'https://{aimarket_host}/mcp' --header 'Authorization: <Bearer token matching AIMARKET_MCP_KEY when auth is enabled>'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج AIMarket MCP Gateway إلى مفتاح API؟
نعم. يتطلب AIMARKET_METIS_KEY, AIMARKET_API_KEY, Authorization، وتضبطها في إعداداته.
هل AIMarket MCP Gateway مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون AIMarket MCP Gateway؟
ينشره alexar76. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.