Skip to main content
Glama

MCP Reasoning Engine with Claude Agent

A production-ready reasoning engine that combines Claude AI with Model Context Protocol (MCP) tools for structured reasoning across legal, health, and science domains.

Features

  • πŸ€– Claude Agent Integration: Uses Anthropic's Claude API with tool use capabilities

  • πŸ”§ MCP Tools: Three specialized tools for knowledge search, schema validation, and rubric evaluation

  • πŸ“š RAG Integration: Knowledge base search across domain-specific documents

  • βœ… Schema Validation: Ensures structured JSON output matches required schemas

  • πŸ“Š Rubric Scoring: Domain-specific evaluation with pass/fail thresholds

  • 🌐 HTTP API: RESTful API for easy integration

  • 🐳 Docker Ready: Containerized deployment support

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   HTTP API      β”‚  (Optional - mcp_api_server.py)
β”‚   or Direct     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Claude Agent    │◄────►│  MCP Server  β”‚
β”‚ claude_agent.py β”‚      β”‚  server.py   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                      β”‚
         β–Ό                      β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Anthropic API   β”‚      β”‚ RAG Tools   β”‚
β”‚   (Claude)      β”‚      β”‚ Validators   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quick Start

Prerequisites

Installation

  1. Clone or extract the project

    cd reasoning_engine_mcp_demo
  2. Create virtual environment

    python -m venv .venv
    
    # Windows
    .venv\Scripts\activate
    
    # Linux/Mac
    source .venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Set API key

    # Windows PowerShell
    $env:ANTHROPIC_API_KEY = "your_api_key_here"
    
    # Linux/Mac
    export ANTHROPIC_API_KEY="your_api_key_here"

Usage

Option 1: Direct Python Usage

import asyncio
from mcp.claude_agent import ClaudeReasoningAgent

async def main():
    agent = ClaudeReasoningAgent()
    result = await agent.reason("Is a verbal promise enforceable?")
    print(result)

asyncio.run(main())

Option 2: Command Line

python -m mcp.claude_agent --question "Your question here"

Option 3: HTTP API Server

# Start server
python mcp_api_server.py

# Server runs on http://localhost:8000
# API docs: http://localhost:8000/docs

API Example:

curl -X POST http://localhost:8000/reason \
  -H "Content-Type: application/json" \
  -d '{"question": "Is a verbal promise enforceable?"}'

Project Structure

reasoning_engine_mcp_demo/
β”œβ”€β”€ mcp/                          # MCP server and agent
β”‚   β”œβ”€β”€ server.py                # MCP server with 3 tools
β”‚   β”œβ”€β”€ claude_agent.py          # Claude agent with MCP integration
β”‚   └── DEPLOYMENT.md            # Deployment guide
β”œβ”€β”€ rag_docs/                    # Knowledge base documents
β”‚   β”œβ”€β”€ legal/                   # Legal domain documents
β”‚   β”œβ”€β”€ health/                  # Health domain documents
β”‚   └── science/                 # Science domain documents
β”œβ”€β”€ domains/                     # Domain configurations
β”‚   β”œβ”€β”€ domain_config.json       # Domain routing config
β”‚   β”œβ”€β”€ legal/rubric.json        # Legal rubric
β”‚   β”œβ”€β”€ health/rubric.json       # Health rubric
β”‚   └── science/rubric.json      # Science rubric
β”œβ”€β”€ schemas/                     # JSON schemas
β”‚   └── universal_reasoning_schema.json
β”œβ”€β”€ validators/                  # Validation modules
β”‚   β”œβ”€β”€ schema_validator.py
β”‚   └── rubric_validator.py
β”œβ”€β”€ tools_rag.py                 # RAG search implementation
β”œβ”€β”€ router.py                    # Domain routing
β”œβ”€β”€ mcp_api_server.py            # HTTP API server
β”œβ”€β”€ requirements.txt             # Python dependencies
└── README.md                    # This file

MCP Tools

The MCP server exposes three tools:

  1. search_knowledge_base(query: str)

    • Searches RAG documents for relevant information

    • Returns formatted results with source, title, and content

  2. validate_reasoning_schema(output_json: str)

    • Validates JSON output against the universal reasoning schema

    • Returns validation status and errors

  3. evaluate_with_rubric(domain: str, output_json: str)

    • Evaluates reasoning output against domain-specific rubric

    • Returns scores, pass/fail status, and human review flags

Domains

The system supports three domains:

  • Legal: Contract law, enforceability, legal reasoning

  • Health: Medical information, symptoms, safety boundaries

  • Science: Scientific reasoning, hypotheses, evidence evaluation

Each domain has:

  • Domain-specific RAG documents

  • Custom rubric for evaluation

  • Keyword-based routing

Configuration

Environment Variables

  • ANTHROPIC_API_KEY (required): Your Anthropic API key

  • MCP_PORT (optional): HTTP API port (default: 8000)

  • MCP_HOST (optional): HTTP API host (default: 0.0.0.0)

Model Selection

Default model: claude-3-haiku-20240307

To use a different model:

agent = ClaudeReasoningAgent(model="claude-3-sonnet-20240229")

Available models:

  • claude-3-haiku-20240307 (fast, cost-effective)

  • claude-3-sonnet-20240229 (balanced)

  • claude-3-opus-20240229 (most capable)

API Documentation

When running the HTTP API server, visit:

  • Swagger UI: http://localhost:8000/docs

  • ReDoc: http://localhost:8000/redoc

Endpoints

  • GET / - API information

  • GET /health - Health check

  • GET /tools - List available MCP tools

  • POST /reason - Process a reasoning question

Testing

# Test MCP server tools
python test_mcp_server.py

# Test with Claude
python test_mcp_server.py --with-claude

# Run all test cases
python run_all_tests.py

Deployment

See mcp/DEPLOYMENT.md for detailed deployment instructions including:

  • Local deployment

  • Docker containerization

  • Cloud deployment (AWS, Azure, GCP)

  • Production best practices

Security Notes

  • API Keys: Never commit API keys to version control

  • Health Domain: Always requires human review (configured in rubric)

  • Input Validation: All inputs are validated before processing

  • HTTPS: Use HTTPS in production environments

Troubleshooting

"ANTHROPIC_API_KEY not found"

  • Ensure environment variable is set in your shell session

  • Check that it's set before running Python scripts

"ModuleNotFoundError: No module named 'mcp.claude_agent'"

  • This is a namespace conflict with the mcp package

  • The code handles this automatically via importlib

  • If issues persist, check Python path configuration

"Model not found" errors

  • Verify your API key has access to the requested model

  • Try using claude-3-haiku-20240307 (most widely available)

Support

For issues or questions, please refer to:

  • mcp/DEPLOYMENT.md - Deployment guide

  • DEPLOYMENT_GUIDE.md - Detailed deployment options

  • API documentation at /docs endpoint

Changelog

Version 1.0.0

  • Initial release

  • MCP server with 3 tools

  • Claude agent integration

  • HTTP API server

  • Domain routing and rubric evaluation

  • Full test suite# MCP

MCP

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arslanmanzoorr/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server