Skip to content

Run the MCP server

Clone and run:

git clone https://github.com/okfn/mcp-server
cd mcp-server
uv sync          # install dependencies
uv run pytest    # optional: run the tests
uv run mcp-server

By default the server speaks stdio, which is what desktop MCP clients (like Claude Desktop) expect. For a network server, use HTTP:

MCP_TRANSPORT=http uv run mcp-server

The HTTP server listens on http://127.0.0.1:8063 by default.

Settings

Settings live in settings.py and every one of them can be overridden with an environment variable or a local_settings.py file:

Setting Default Meaning
MCP_TRANSPORT stdio stdio for local clients, http for the network
MCP_HOST 127.0.0.1 Bind address in HTTP mode
MCP_PORT 8063 Port in HTTP mode

What tools does it serve?

Out of the box, the server loads its own bundled example tools. The interesting part is adding plugins with real datasets: see connecting a plugin to install the Uruguay or Brasil catalogs, or write your own.