Skip to main content

aimarket-mcp — ecosystem MCP gateway

CI aimarket-mcp MCP server MCP gateway stdio + HTTP 14 tests passing Test coverage License: MIT

One MCP gateway. Three hardened tools. Shared by Metis, ARGUS, and the ecosystem.

Transport: stdio (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) 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

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_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)

pip install -e .
python mcp_stdio_server.py

Claude Desktop (mcpServers entry):

{
  "mcpServers": {
    "aimarket-mcp": {
      "command": "python",
      "args": ["mcp_stdio_server.py"],
      "cwd": "/path/to/aimarket-mcp"
    }
  }
}

Or via PyPI script: aimarket-mcp

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: glama.ai/mcp/servers/alexar76/aimarket-mcp

Same pattern as aimarket-oracle-gateway (working on Glama): repo-root glama.json + Dockerfile + python mcp_stdio_server.py.

Field Value
Dockerfile Dockerfile (from repo — not Glama debian/uv template)
Command python mcp_stdio_server.py
Placeholder parameters {}
Pinned SHA empty (latest)

Do not use the auto-generated debian:trixie-slim + uv sync + mcp-proxy -- aimarket-mcp template — that was the broken HTTP/ENOENT path.

Consumers

  • 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

Glama

Glama ignores repo Dockerfiles — set Build steps in admin/dockerfile:

["bash scripts/glama_install.sh"]

CMD: [".venv/bin/python", "mcp_stdio_server.py"]. Pin main or tag glama-build (not a fixed SHA). Details: docs/GLAMA.md.

Registries

Registry Listing
Glama glama.ai/mcp/servers/alexar76/aimarket-mcp
Official MCP Registry io.github.alexar76/aimarket-mcpserver.json + GitHub Actions
PyPI pip install aimarket-mcp
GitHub Releases github.com/alexar76/aimarket-mcp/releases

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aimarket_mcp-0.1.4.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aimarket_mcp-0.1.4-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file aimarket_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: aimarket_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for aimarket_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 55b54a49fb938d892f5dcc7fe350b23f29c0c6e32a318075d35816810ab2e7d8
MD5 a986c0e94fa27ee4e252705c14ec7629
BLAKE2b-256 b4fa408a6aa2cf67e80b3c41ccd986923089bb980dd335d771fd1e014e74bede

See more details on using hashes here.

File details

Details for the file aimarket_mcp-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: aimarket_mcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for aimarket_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7765397acb9416ba3d80c79d2f2adebca69e47b7bab17a4f595056b0d38c05b5
MD5 161f5ef9ee7a7d8a901ff2bda086e05b
BLAKE2b-256 8498b7fa21a08c23a9f693597f30330a0ae63aa1b850c8e5346f39aa17b75298

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

This release

0.1.4 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page