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

70 lines
1.6 KiB
Markdown

# 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)
```bash
# 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
```bash
# 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
```bash
# 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.