uk-charities-mcp

uk-charities-mcp

Query UK charity data via MCP, including charity details, financial history, trustees, and governing documents.

Category
Visit Server

README

UK Charities MCP Server

Query UK charity data via MCP.

PyPI Python 3.14+ License: MIT MCP

Demo

Demo GIF

Quick Start

Prerequisites: Free API key from api-portal.charitycommission.gov.uk

Works with any MCP-compatible client (Claude Desktop, VS Code, Cursor, etc.). Example for Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Option 1: Via PyPI (recommended)

{
  "mcpServers": {
    "uk-charities": {
      "command": "uvx",
      "args": ["uk-charities-mcp"],
      "env": {
        "CCEW_API_KEY": "your-api-key-here"
      }
    }
  }
}

Option 2: From source

git clone https://github.com/w4sspr/uk-charities-mcp.git
cd uk-charities-mcp
uv sync
{
  "mcpServers": {
    "uk-charities": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/uk-charities-mcp", "uk-charities-mcp"],
      "env": {
        "CCEW_API_KEY": "your-api-key-here"
      }
    }
  }
}

Troubleshooting: If you get spawn uvx ENOENT or spawn uv ENOENT, Claude Desktop can't find the executable. Use the full path instead (run which uvx or which uv to find it, e.g., /Users/you/.local/bin/uvx).

Restart Claude Desktop, then try:

"Get details for Oxfam (charity 202918)"

Example Prompts

  • "Get details for charity 202918" (Oxfam)
  • "Show me the financial history for the British Heart Foundation (225971)"
  • "Who are the trustees of Cancer Research UK (1089464)?"
  • "What are the charitable objects of the RSPCA (219099)?"

Note: This MCP requires charity registration numbers. Find them at register-of-charities.charitycommission.gov.uk

Example Charities Registration #
Oxfam 202918
British Heart Foundation 225971
Cancer Research UK 1089464
RSPCA 219099
Save the Children 213890

Tools

get_charity_details

Full charity info: name, status, contact, trustees, causes, beneficiaries, latest income/spending.

Parameter Type Description
registration_number int Charity registration number

get_charity_financials

Up to 5 years of detailed financial records.

Parameter Type Description
registration_number int Charity registration number

Returns breakdowns: donations & legacies, charitable activities, trading, investments, government grants, fundraising, governance.

get_charity_trustees

List of current trustees.

Parameter Type Description
registration_number int Charity registration number

get_governing_document

Charitable objects (mission), governing document description, area of benefit.

Parameter Type Description
registration_number int Charity registration number

Limitations

  • No search by name — CCEW API has no search endpoint; you must provide the registration number
  • England & Wales only — Scotland uses OSCR, Northern Ireland uses CCNI
  • No aggregate statistics — can't query "largest charities" or sector-wide stats
  • Current trustees only — API doesn't provide historical trustee records

Prompts that won't work:

  • "Find mental health charities in London" (no search by cause/location)
  • "List the largest charities by income" (no ranking)
  • "How many charities are there in the UK?" (no aggregate stats)

Roadmap

  • [ ] Scotland charities via OSCR API
  • [ ] Northern Ireland charities via CCNI API
  • [ ] Caching layer to reduce API calls
  • [ ] Bulk lookup for comparing multiple charities

Development

# Run tests
export CCEW_API_KEY=your-api-key
uv run pytest tests/ -v

# Test with MCP Inspector
CCEW_API_KEY=your-api-key uv run mcp dev src/uk_charities_mcp/server.py

See Also

Why I built this: MCP integration with UK public sector data APIs. See also: food-hygiene-mcp for FSA food hygiene ratings.

Data Source

Charity Commission API — free, requires API key.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured