Ordnance Survey MCP Server

Ordnance Survey MCP Server

A Python-based MCP server that provides access to Ordnance Survey APIs, allowing querying of geographic data through a standardized protocol with features like collection management, feature search, and spatial filtering.

Category
Visit Server

README

Ordnance Survey - MCP Server

A Python-based MCP server that provides access to the Ordnance Survey APIs.

Overview

This service creates a bridge between MCP clients and the OS APIs, making it easy to query geographic data through a standardised protocol.

The service handles authentication, (basic) rate limiting, and provides a simplified interface to complex OS APIs.

Project Structure

  • api_service - Asynchronous HTTP client implementation for the OS APIs

    • Handles authentication, request formatting, and response processing
    • Manages rate limiting and error handling
    • Provides a clean interface to the external API endpoints
  • mcp_service - Exposes OS APIs functionality as MCP tools

    • Converts API responses to MCP-compatible formats
    • Implements business logic for feature operations
    • Provides a standardized interface for other services

Features

  • Collection management (listing and querying collections)
  • Feature search with spatial and attribute filters
  • Individual feature retrieval by ID
  • Linked identifier operations
  • Bulk feature operations

Requirements

  • Python 3.11+
  • OS API Key (set as environment variable OS_API_KEY)
  • You will need to register for an OS Data Hub account to get an API key
  • Dependencies: aiohttp, mcp[cli]

Usage

Configure in your MCP host configuration file (e.g Claude Desktop):

{
  "mcpServers": {
    "os-ngd-api": {
      "command": "/Users/username/.local/bin/uv",
      "args": ["--directory", "src/", "run", "server.py"],
      "env": {
        "OS_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude Desktop Integration

This MCP service has only been tested with Claude Desktop.

The aim is to make this service work with various MCP hosts/clients, but this has not been tested yet.

When using with Claude Desktop:

  1. Ensure Claude Desktop is configured to access local tools
  2. The service will be available as a tool once it's running
  3. No additional network configuration is needed

Available Tools

All of this is a work in progress, but the following tools are available:

  • hello_world - Test connectivity
  • check_api_key - Verify API key configuration
  • list_collections - List available feature collections
  • get_collection_info - Get details about a specific collection
  • get_collection_queryables - Get filterable properties for a collection
  • search_features - Search features by various criteria
  • get_feature - Retrieve a specific feature by ID
  • get_linked_identifiers - Find related identifiers
  • get_bulk_features - Retrieve multiple features in a single call
  • get_bulk_linked_features - Get linked features in bulk
  • get_prompt_templates - Get standard prompt templates for common operations

Using Prompt Templates

This service provides pre-configured prompt templates to help you get started.

To access these templates ask Claude "show me available prompt templates"

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License.

This project does not have the endorsement of Ordnance Survey.

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