aimarket-mcp — ecosystem MCP gateway
One MCP gateway. Five 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 |
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 |
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_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)
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.jsonmcpServers(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-mcp — server.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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aimarket_mcp-0.2.1.tar.gz.
File metadata
- Download URL: aimarket_mcp-0.2.1.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84ccd656abbe1ecd8653f904600fc83c491da2d146aa8f4d59960474c649bd66
|
|
| MD5 |
b9da8b4722205a970041abd752b14a3d
|
|
| BLAKE2b-256 |
1a2632f4b862b657cc1f484a43836395876d56d2aa5a4339911bfeefc3e937d6
|
File details
Details for the file aimarket_mcp-0.2.1-py3-none-any.whl.
File metadata
- Download URL: aimarket_mcp-0.2.1-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43c3fd778c8e0f9ba217c18e32e5274a27f06fcfb52160e9831354de06238e78
|
|
| MD5 |
1c47d0b2fb7c385b0e88528b6251bd5b
|
|
| BLAKE2b-256 |
6b2a74fa9e2d118b4018368a946069188f06244f7ef23c7d5fbf918b615d83b9
|