ilia 4b9ffb5ddf docs: Update architecture and add new documentation for LLM and MCP
- Enhanced `ARCHITECTURE.md` with details on LLM models for work (Llama 3.1 70B Q4) and family agents (Phi-3 Mini 3.8B Q4).
- Introduced new documents:
  - `ASR_EVALUATION.md` for ASR engine evaluation and selection.
  - `HARDWARE.md` outlining hardware requirements and purchase plans.
  - `IMPLEMENTATION_GUIDE.md` for Milestone 2 implementation steps.
  - `LLM_CAPACITY.md` assessing VRAM and context window limits.
  - `LLM_MODEL_SURVEY.md` surveying open-weight LLM models.
  - `LLM_USAGE_AND_COSTS.md` detailing LLM usage and operational costs.
  - `MCP_ARCHITECTURE.md` describing the Model Context Protocol architecture.
  - `MCP_IMPLEMENTATION_SUMMARY.md` summarizing MCP implementation status.

These updates provide comprehensive guidance for the next phases of development and ensure clarity in project documentation.
2026-01-05 23:44:16 -05:00

1.6 KiB

MCP Server

Model Context Protocol (MCP) server implementation for Atlas voice agent.

Overview

This server exposes tools via JSON-RPC 2.0 protocol, allowing LLM agents to interact with external services and capabilities.

Architecture

  • Protocol: JSON-RPC 2.0
  • Transport: HTTP (can be extended to stdio)
  • Tools: Modular tool system with registration

Quick Start

Setup (First Time)

# Create virtual environment and install dependencies
./setup.sh

# Or manually:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Running the Server

# Option 1: Use the run script (recommended)
./run.sh

# Option 2: Activate venv manually and run as module
source venv/bin/activate
python -m server.mcp_server

# Server runs on http://localhost:8000/mcp

Note: On Debian/Ubuntu systems, you must use a virtual environment due to PEP 668 (externally-managed-environment). The setup script handles this automatically.

Testing

# Test tools/list
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'

# Test tools/call (echo tool)
curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {"name": "echo", "arguments": {"text": "hello"}},
    "id": 2
  }'

Tools

Currently implemented:

  • echo - Simple echo tool for testing
  • weather - Weather lookup (stub implementation)

See tools/ directory for tool implementations.