polymarket-mcp
AI-agent ready FastMCP server for Polymarket market discovery, wallet analytics, and public CLOB data.
polymarket-mcp gives MCP clients a typed, read-only interface for asking questions like:
- "Find active markets about inflation and summarize liquidity."
- "Inspect this wallet's current positions and recent activity."
- "Compare order book depth, midpoint, and spread for these outcome tokens."
- "Pull historical prices so an agent can reason about market movement."
This project is intentionally read-only in 0.1.x. It does not place trades, sign orders, manage keys, or require wallet credentials.
Package identities
| Purpose | Value |
|---|---|
| PyPI distribution | polymarket-mcp-server |
| Python package | polymarket_mcp |
| CLI command | polymarket-mcp |
| Docs | https://polymarket-mcp.readthedocs.io/en/latest/ |
Why agents use it
- Typed outputs reduce brittle prompt parsing and normalize inconsistent upstream JSON.
- Tool docstrings are written for LLM routing, so agents can choose the right surface quickly.
- Namespaces keep workflows clear:
gammafor discovery,datafor wallets,clobfor live market microstructure. - Real MCP end-to-end tests exercise both in-process client sessions and subprocess stdio transport.
- No authenticated trading actions are exposed, which keeps exploratory agents inside a safer read-only boundary.
Agent workflow
flowchart LR
Agent["AI agent / MCP client"] --> MCP["polymarket-mcp"]
MCP --> Gamma["gamma: discover markets and events"]
MCP --> Data["data: inspect wallets and trades"]
MCP --> Clob["clob: read books, quotes, history"]
Gamma --> GAPI["Gamma API"]
Data --> DAPI["Data API"]
Clob --> CAPI["Public CLOB API"]
Tool surfaces
| Surface | Agent job | Example outputs |
|---|---|---|
gamma |
discover and inspect markets/events | market metadata, event details, tags |
data |
analyze public wallet behavior | positions, activity, trades |
clob |
reason about live prices and liquidity | books, quotes, midpoint, spread, history |
Install
pip install polymarket-mcp-server
polymarket-mcp
Run ephemerally with uvx:
uvx --from polymarket-mcp-server polymarket-mcp
MCP client config
Use this stdio entry in an MCP client configuration:
{
"mcpServers": {
"polymarket": {
"command": "uvx",
"args": ["--from", "polymarket-mcp-server", "polymarket-mcp"]
}
}
}
Local development
This repository uses PDM.
pdm install -G dev
pdm install -G docs
pdm run mcp-inspect # inspect the composed MCP surface
pdm run mcp-run # run the stdio MCP server
pdm run test # run pytest
pdm run test-mcp # run real MCP client/server e2e tests
pdm run all # tests + strict docs + MCP inspect
Run the package entrypoint directly:
pdm run python -m polymarket_mcp.server
Safety model
polymarket-mcp is built for research, monitoring, and agent reasoning over public data. It intentionally excludes:
- private key handling
- authenticated trading
- order placement or cancellation
- wallet mutation
- custody or signing flows
If you build a trading layer on top, keep it separate from this read-only server and require explicit human authorization.
Project layout
src/polymarket_mcp/
models/ Pydantic domain and tool I/O models
services/ upstream API normalization layers
servers/ FastMCP tool and resource surfaces
server.py composed parent MCP server
tests/ unit and MCP end-to-end coverage
docs/ Sphinx documentation
Documentation
- Hosted docs: https://polymarket-mcp.readthedocs.io/en/latest/
- Docs source:
docs/using native Sphinx reStructuredText - Local build:
pdm run docs - Local preview:
pdm run docs-serve
Release notes
Releases publish from Git tags through GitHub Actions trusted publishing. PyPI trusted publishing is configured for pr1m8/polymarket-mcp, workflow release.yml, environment pypi.
Metadata
Release files for polymarket-mcp-server 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| polymarket_mcp_server-0.1.3.tar.gz | 28.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| polymarket_mcp_server-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.5 kB
Release files / polymarket_mcp_server-0.1.3.tar.gz
| Download URL | polymarket_mcp_server-0.1.3.tar.gz |
|---|---|
| Size | 28.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b2bbe528cac84e5daa27c3229123730fefbe904e9efae893a441aee77f5a412
|
|
BLAKE2b-256 checksum How to use checksums |
d68b37c6490270b638435a440a0a402bc58dbcccd42d0ddd2065dedcf81b5146
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.
Transparency logRelease files / polymarket_mcp_server-0.1.3-py3-none-any.whl
| Download URL | polymarket_mcp_server-0.1.3-py3-none-any.whl |
|---|---|
| Size | 27.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7ded23a021a3b8bf7c149cc2b67c8633cb657d8421eb5d29a8dd5010f286521
|
|
BLAKE2b-256 checksum How to use checksums |
759d7998fd2021104c93bfb60b437478e6fed745bf07c9639407bbfc2b40f163
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.
Transparency log