AIMarket MCP Gateway

Official registry Other

Stdio + HTTP MCP gateway: SSRF-hardened web_fetch, web_search, metis_verify, market_search.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
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 configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "aimarket-mcp-gateway": {
            "type": "http",
            "url": "https://{aimarket_host}/mcp",
            "headers": {
                "Authorization": "<Bearer token matching AIMARKET_MCP_KEY when auth is enabled>"
            }
        }
    }
}
PYPI package aimarket-mcp
Claude Code
claude 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
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "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>"
            }
        }
    }
}

Environment variables

  • AIMARKET_METIS_URL Metis verify API base URL
  • AIMARKET_METIS_KEY secret Optional bearer token for Metis verify
  • AIMARKET_SEARCH_URL DuckDuckGo HTML search endpoint override
  • AIMARKET_API_KEY secret Optional key from https://modelmarket.dev/start: pays priced market_invoke calls from a prepaid USDC balance once the free trial is spent

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. aimarket-mcp — ecosystem MCP gateway
  2. Tools
  3. Configure (env)
  4. Run (stdio — Glama / Claude Desktop)
  5. Run (HTTP — self-host)
  6. Publish on Glama
  7. Consumers
  8. Test
  9. Registries

🔄 Synced from a monorepo — but with a live history. aimarket-mcp mirrors 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

🌐 English · Русский · Español · Français · 中文 · Glossary

🟢 Just want to try the marketplace? Install nothing.

Paste https://modelmarket.dev/mcp into your MCP client and you have market_search and market_invoke against 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.md

Install 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).

ItemLocation
MCP entrypoint (stdio)aimarket_mcp/stdio_server.py
MCP gateway (HTTP)aimarket_mcp/server.py
Tool handlers + securityaimarket_mcp/tools.py, aimarket_mcp/security.py
Glama / Docker (stdio)Dockerfile, glama.json
Self-host HTTPDockerfile.http, docker-compose.yml

Compatible hosts: Claude Desktop, Cursor, Glama, and any MCP client that supports stdio or Streamable-HTTP.

Tools

ToolWhat it doesHardening
web_fetchFetch a URL, return main text (readability-lite)SSRF-guarded; output sanitized + <untrusted>-wrapped
web_searchLive DuckDuckGo search → top snippetsoutput sanitized + <untrusted>
metis_verifyMetis cognition + verification envelopereturns answer + verify_score / verified gate
market_searchDiscover priced capabilities on an AIMarket hubfree; no wallet, key or channel; the hub lists only what it can execute
market_invokeRun one on the hub's free trial tierreturns 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)

varmeaning
AIMARKET_METIS_URLMetis verify API base (default https://metis.modelmarket.dev)
AIMARKET_METIS_KEYoptional bearer for Metis verify
AIMARKET_SEARCH_URLDuckDuckGo HTML endpoint override
AIMARKET_HUB_URLAIMarket hub for market_search / market_invoke (default https://modelmarket.dev)
AIMARKET_API_KEYCredit-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_VISITORTrial identity for market_invoke; random per install, set it to keep an allowance across reinstalls
AIMARKET_MCP_KEYHTTP only — bearer auth key
AIMARKET_MCP_PRODUCTIONHTTP only — 1 requires AIMARKET_MCP_KEY (fail-closed)
AIMARKET_MCP_RATEHTTP only — requests/min per key/IP (default 120)
AIMARKET_MCP_PORTHTTP 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:

FieldValue
Build steps["bash scripts/glama_install.sh"]
CMD arguments["mcp-proxy", "--", ".venv/bin/python", "-m", "aimarket_mcp.stdio_server"]
Placeholder parameters{}
Pinned commit SHAempty (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.json mcpServers (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.

RegistryListing
Glamaglama.ai/mcp/servers/alexar76/aimarket-mcp
Official MCP Registryio.github.alexar76/aimarket-mcp — server.json + GitHub Actions
PyPIpip install aimarket-mcp
GitHub Releasesgithub.com/alexar76/aimarket-mcp/releases

Frequently asked questions

What is AIMarket MCP Gateway?

Stdio + HTTP MCP gateway: SSRF-hardened web_fetch, web_search, metis_verify, market_search.

How do I install AIMarket MCP Gateway?

It runs as a remote server. In 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>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does AIMarket MCP Gateway need an API key?

Yes. It expects AIMARKET_METIS_KEY, AIMARKET_API_KEY, Authorization, which you set in its configuration.

Is AIMarket MCP Gateway open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains AIMarket MCP Gateway?

It is published by alexar76. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.