AI-agent ready FastMCP server for Polymarket discovery, wallet reads, and public CLOB market data.
Project description
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.
Project details
Release history Release notifications | RSS feed
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 polymarket_mcp_server-0.1.3.tar.gz.
File metadata
- Download URL: polymarket_mcp_server-0.1.3.tar.gz
- Upload date:
- Size: 28.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b2bbe528cac84e5daa27c3229123730fefbe904e9efae893a441aee77f5a412
|
|
| MD5 |
0aa70f8245af16d12fbe6458c48ce9fe
|
|
| BLAKE2b-256 |
d68b37c6490270b638435a440a0a402bc58dbcccd42d0ddd2065dedcf81b5146
|
Provenance
The following attestation bundles were made for polymarket_mcp_server-0.1.3.tar.gz:
Publisher:
release.yml on pr1m8/polymarket-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polymarket_mcp_server-0.1.3.tar.gz -
Subject digest:
3b2bbe528cac84e5daa27c3229123730fefbe904e9efae893a441aee77f5a412 - Sigstore transparency entry: 1353107737
- Sigstore integration time:
-
Permalink:
pr1m8/polymarket-mcp@a760d0b4152dd12a94a954d4154d67b1d9655f03 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/pr1m8
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a760d0b4152dd12a94a954d4154d67b1d9655f03 -
Trigger Event:
push
-
Statement type:
File details
Details for the file polymarket_mcp_server-0.1.3-py3-none-any.whl.
File metadata
- Download URL: polymarket_mcp_server-0.1.3-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7ded23a021a3b8bf7c149cc2b67c8633cb657d8421eb5d29a8dd5010f286521
|
|
| MD5 |
bb46f0dc0913a5cf667ba46bfafa203d
|
|
| BLAKE2b-256 |
759d7998fd2021104c93bfb60b437478e6fed745bf07c9639407bbfc2b40f163
|
Provenance
The following attestation bundles were made for polymarket_mcp_server-0.1.3-py3-none-any.whl:
Publisher:
release.yml on pr1m8/polymarket-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polymarket_mcp_server-0.1.3-py3-none-any.whl -
Subject digest:
e7ded23a021a3b8bf7c149cc2b67c8633cb657d8421eb5d29a8dd5010f286521 - Sigstore transparency entry: 1353107851
- Sigstore integration time:
-
Permalink:
pr1m8/polymarket-mcp@a760d0b4152dd12a94a954d4154d67b1d9655f03 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/pr1m8
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a760d0b4152dd12a94a954d4154d67b1d9655f03 -
Trigger Event:
push
-
Statement type: