MCPClientServer

kaman05010/MCPClientServer

3.2

If you are the rightful owner of MCPClientServer and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Wikipedia Server is a production-ready server that provides tools for Wikipedia search and content retrieval using the Model Context Protocol (MCP) and FastMCP framework, implemented in Python 3.11.

Tools
3
Resources
0
Prompts
0

MCP Wikipedia Server

A production-ready Model Context Protocol (MCP) server that provides Wikipedia search and content retrieval tools using FastMCP and Python 3.11.

Python 3.11 MCP

๐Ÿš€ Quick Start

# 1. Set up environment (one-time setup)
./setup.sh

# 2. Start the server
source .venv311/bin/activate
cd src/mcp_server && python mcp_server.py

# 3. Test with example client
python example_client.py

๐ŸŽฏ Features

  • Wikipedia Search: Find articles with intelligent search and get comprehensive summaries
  • Section Listing: Extract all section titles from any Wikipedia article
  • Content Retrieval: Get specific section content with proper formatting
  • MCP Protocol: Full Model Context Protocol compatibility for AI assistant integration
  • FastMCP Framework: Built on the efficient FastMCP library for optimal performance
  • Python 3.11: Modern Python with latest features and performance improvements

๐Ÿ“š Documentation

DocumentDescription
Detailed setup, usage, and development instructions
Common commands and tool summaries
Automated environment setup and verification
Sample usage and integration examples

๐Ÿ› ๏ธ Available Tools

ToolPurposeExample Usage
fetch_wikipedia_infoSearch Wikipedia and get article summariesSearch for "Python programming"
list_wikipedia_sectionsGet all section titles from an articleList sections of "Machine Learning"
get_section_contentRetrieve specific section contentGet "History" section from "Artificial Intelligence"

๐Ÿ—๏ธ Project Structure

MCPClientServer/
โ”œโ”€โ”€ ๐Ÿ“ src/mcp_server/           # Core server implementation
โ”‚   โ”œโ”€โ”€ mcp_server.py           # Main MCP Wikipedia server
โ”‚   โ””โ”€โ”€ mcp_client.py           # Example MCP client
โ”œโ”€โ”€ ๐Ÿ“ tests/                   # Comprehensive test suite
โ”‚   โ”œโ”€โ”€ test_server.py          # Unit tests (pytest)
โ”‚   โ”œโ”€โ”€ test_integration.py     # Integration tests
โ”‚   โ”œโ”€โ”€ test_performance.py     # Performance benchmarks
โ”‚   โ”œโ”€โ”€ test_mcp_compliance.py  # MCP protocol compliance
โ”‚   โ”œโ”€โ”€ quick_test.py           # Fast validation script
โ”‚   โ”œโ”€โ”€ run_tests.py            # Unified test runner
โ”‚   โ””โ”€โ”€ README.md               # Testing documentation
โ”œโ”€โ”€ ๐Ÿ“ .venv311/               # Python 3.11 virtual environment
โ”œโ”€โ”€ ๐Ÿ”ง setup.sh                # Automated setup script
โ”œโ”€โ”€ ๐Ÿ’ก example_client.py        # Usage examples and demos
โ”œโ”€โ”€ ๐Ÿ“– GUIDE.md                # Complete documentation
โ”œโ”€โ”€ โšก QUICK_REF.md             # Quick reference
โ”œโ”€โ”€ ๐Ÿ“„ pytest.ini              # Test configuration
โ”œโ”€โ”€ ๐Ÿ“„ requirements-test.txt    # Test dependencies
โ””โ”€โ”€ ๐Ÿ“„ pyproject.toml          # Project configuration

๐Ÿšฆ Prerequisites

  • macOS (tested on Apple Silicon and Intel)
  • Python 3.11+ (installed via pyenv recommended)
  • Git (for version control)

๐Ÿ“ฆ Installation Options

Option 1: Automated Setup (Recommended)

chmod +x setup.sh
./setup.sh

Option 2: Manual Setup

# Set up Python 3.11 environment
pyenv install 3.11.10
pyenv local 3.11.10

# Create and activate virtual environment
python -m venv .venv311
source .venv311/bin/activate

# Install dependencies
pip install --upgrade pip
pip install wikipedia mcp fastmcp

๐Ÿ”Œ Integration Examples

With Claude Desktop (MCP Client)

{
  "mcpServers": {
    "wikipedia": {
      "command": "python",
      "args": ["/path/to/MCPClientServer/src/mcp_server/mcp_server.py"],
      "env": {
        "PYTHONPATH": "/path/to/MCPClientServer/.venv311/lib/python3.11/site-packages"
      }
    }
  }
}

Direct Python Usage

from mcp_client import WikipediaClient

client = WikipediaClient()
result = await client.search_wikipedia("Artificial Intelligence")
print(result)

๐Ÿงช Testing

Quick Testing

# Fast validation (10 seconds)
python tests/quick_test.py

# Comprehensive test suite (5 minutes)
python tests/run_tests.py

Advanced Testing

# Install test dependencies
pip install -r requirements-test.txt

# Run specific test suites
python tests/run_tests.py --unit          # Unit tests only
python tests/run_tests.py --integration   # Integration tests only
python tests/run_tests.py --performance   # Performance benchmarks
python tests/run_tests.py --mcp          # MCP compliance tests

# Using pytest directly
python -m pytest tests/test_server.py -v --cov=src

Test Suite Overview

  • Unit Tests: Individual function and component testing
  • Integration Tests: End-to-end workflow validation
  • Performance Tests: Response time and load benchmarks
  • MCP Compliance: Protocol specification validation
  • 95%+ Code Coverage: Comprehensive test coverage

See for complete testing documentation.

๐Ÿ› Troubleshooting

IssueSolution
ModuleNotFoundError: No module named 'mcp'Run pip install mcp fastmcp in activated environment
Python version issuesEnsure Python 3.11+ with python --version
Server won't startCheck if port is available, verify dependencies
Wikipedia API errorsCheck internet connection, try different search terms

For detailed troubleshooting, see .

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the file for details.

๐Ÿ”— Resources

๐ŸŒŸ Support

If you find this project helpful, please consider giving it a star โญ on GitHub!


Made with โค๏ธ for the MCP community