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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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