MCPClientServer

kaman05010/MCPClientServer

3.1

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