Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables searching, retrieving, and exploring World Bank documents and reports through natural language queries with advanced filtering options.

README.md

World Bank Document and Reports MCP Server

An MCP server for accessing the World Bank's Documents & Reports database. Provides searching, retrieval, and detailed breakdowns of World Bank documents for LLMs and programmatic use.

Repository Structure

document-reports-mcp/
 worldbank_dnr_mcp/          # main package
    core.py                 # business logic, models, utilities
    factory.py              # server creation and tool registration
    parsers.py              # transport-specific response parsers
    __init__.py             # package exports
 server_stdio.py             # STDIO transport server
 server_sse.py               # SSE transport server
 start_server_claude.py      # launcher for Claude Desktop
 pyproject.toml              # project configuration
 requirements.txt            # legacy requirements file
 docs/                       # documentation
     API Document.pdf
     DESIGN_LOGIC.md
     STRUCTURE_GUIDE.md
     mcp_simulation.mp4      # demonstration video

Project Features

  • comprehensive document search with advanced filters
  • multi-dimensional filtering (by country, type, language, date range)
  • result faceting and category exploration
  • metadata and abstract retrieval
  • project-based document lookup
  • flexible markdown/json output formats
  • extensive error handling and validation
  • support for both STDIO and SSE transports

Demonstration Video

Watch the MCP server in action:

Watch Demo Video

Note: Click the link above to view the demonstration video. GitHub README files don't support embedded video players, but you can download or view the video directly through the link.

Quick Documentation Index

Installation

Using uv (recommended): ``bash uv sync ``

Using pip: ``bash pip install -r requirements.txt ``

Usage

For Claude Desktop (STDIO Transport)

  1. Update your Claude Desktop config to use the launcher:
   {
     "mcpServers": {
       "worldbank-dnr": {
         "command": "uv",
         "args": ["run", "/absolute/path/to/start_server_claude.py"],
         "cwd": "/absolute/path/to/document-reports-mcp"
       }
     }
   }
  1. Restart Claude Desktop

Testing the SSE Server Locally

You can test the SSE server using the MCP Inspector:

  1. Start the SSE server:
   uv run server_sse.py
  1. In another terminal, run the MCP Inspector:
   npx @modelcontextprotocol/inspector@latest
  1. The inspector will open at http://localhost:6274
  1. Select "SSE" as the transport type
  1. Enter the server URL: http://localhost:8002/sse
  1. Click "Connect" to interact with the server and test tools

Alternatively, you can use the simple test client: ``bash uv run test_sse_client.py ``

Available Tools

  1. worldbank_search_documents - primary search with filters
  2. worldbank_get_document_details - retrieve detailed document information
  3. worldbank_explore_facets - discover available filter values
  4. worldbank_search_by_project - find documents by project ID or name

For detailed tool documentation and API usage, see DESIGN_LOGIC.md.

Development

The codebase follows these principles:

  • DRY principle: shared utilities in core.py, no code duplication
  • pydantic models: automatic validation for all inputs
  • async/await: all I/O operations use async patterns
  • transport abstraction: business logic separated from transport-specific code
  • factory pattern: centralized server creation with dependency injection

See STRUCTURE_GUIDE.md for detailed architecture explanation.

Code Organization

  • worldbank_dnr_mcp/core.py: constants, enums, pydantic models, utility functions, formatting helpers
  • worldbank_dnr_mcp/factory.py: server factory, tool registration
  • worldbank_dnr_mcp/parsers.py: transport-specific response parsing (only transport-dependent code)
  • server_stdio.py: STDIO transport wrapper
  • server_sse.py: SSE transport wrapper

For full architecture breakdown and troubleshooting, see documentation in the docs/ folder.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.