Algorithmic AI MCP
by ksjpswaroop
README.md
# Algorithmic AI MCP โ TAOCP Agent Tools
[](https://badge.fury.io/py/taocp-agent-tools)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
**Computational First-Principles Engine for Autonomous AI Agents**
A semantic adapter layer that exposes Donald Knuth's **The Art of Computer Programming (TAOCP)** algorithms to AI agents like Hermes-Agent, Claude Desktop, and Cursor via Model Context Protocol (MCP).
---
## ๐ฏ What This Is
**252 algorithms** from Knuth's TAOCP, made **agent-accessible** through:
- โ
**Tiered Exposure** โ Only ~30-40 high-value tools exposed (not all 252)
- โ
**Safety Guards** โ Combinatorial explosion prevention, timeouts, input validation
- โ
**Structured Outputs** โ Pydantic models for reliable parsing
- โ
**Agent-Optimized UX** โ "USE WHEN / DO NOT USE" docstrings guide tool selection
- โ
**MCP Portable** โ Works with Hermes-Agent, Claude Desktop, Cursor, any MCP client
---
## ๐ Quick Start
### Installation
```bash
pip install taocp-agent-tools
```
### Basic Usage
```python
from taocp_agent_tools import (
generate_permutations,
solve_sat,
modular_exponentiation,
recommend_algorithm,
)
# Example 1: Generate permutations safely
result = generate_permutations([1, 2, 3, 4, 5])
print(f"Generated {result.count} permutations")
# Output: Generated 120 permutations
# Example 2: Solve SAT problem
clauses = [[1, 2, -3], [-1, 3], [2, 3]]
result = solve_sat(clauses, num_variables=3)
print(f"Satisfiable: {result.found}")
# Example 3: Cryptographic computation
result = modular_exponentiation(2, 1000000, 997)
print(f"2^1000000 mod 997 = {result.result}")
# Example 4: Get algorithm recommendation
rec = recommend_algorithm("I need to find all patterns in this DNA sequence")
print(f"Recommended: {rec.recommended}")
print(f"Reason: {rec.reason}")
```
---
## ๐ฆ Available Tools (Tier 1 MVP)
### Combinatorics (4 tools)
- `generate_permutations(items, max_count, derangements_only)` โ Lexicographic permutations with safety guards
- `generate_combinations(items, k, max_count)` โ K-combinations generation
- `generate_integer_partitions(n, max_count)` โ Integer partitions
- `fair_shuffle(items, seed)` โ Knuth/Fisher-Yates shuffle
### Exact Cover / SAT / CSP (3 tools)
- `solve_exact_cover(rows, columns, max_solutions)` โ Dancing Links (Algorithm X)
- `solve_sat(clauses, num_variables, find_all)` โ DPLL SAT solver
- `solve_csp(variables, domains, constraints)` โ Constraint satisfaction
### Number Theory (5 tools)
- `modular_exponentiation(base, exp, mod)` โ Binary exponentiation
- `modular_inverse(a, m)` โ Extended Euclidean algorithm
- `chinese_remainder(remainders, moduli)` โ Chinese Remainder Theorem
- `primality_test(n, rounds)` โ Miller-Rabin primality test
- `discrete_log(base, target, modulus)` โ Baby-step giant-step
### String Analysis (3 tools)
- `multi_pattern_search(text, patterns)` โ Aho-Corasick multi-pattern matching
- `suffix_tree_query(text, query_type)` โ Suffix tree queries
- `burrows_wheeler_transform(text)` โ BWT for compression
### Graph Specialized (3 tools)
- `bipartite_matching(left, right, edges)` โ Hopcroft-Karp matching
- `max_flow(graph, source, sink)` โ Ford-Fulkerson max flow
- `strongly_connected_components(graph)` โ Tarjan's SCC algorithm
### Symbolic Math (3 tools)
- `symbolic_differentiate(expression, variable, order)` โ Symbolic differentiation
- `simplify_expression(expression)` โ Algebraic simplification
- `evaluate_symbolic(expression, bindings)` โ Expression evaluation
### Router (1 meta-tool)
- `recommend_algorithm(task_description, constraints)` โ Algorithm selection advisor
---
## ๐ก๏ธ Safety Features
### Combinatorial Explosion Prevention
```python
# This will raise TAOCPSafetyError
generate_permutations(list(range(15)))
# Error: Refusing to generate 15! = 1,307,674,368,000 permutations
# This works (with limit)
result = generate_permutations(list(range(15)), max_count=1000)
print(f"Generated {result.count} of 1.3 trillion possible")
```
### Timeout Enforcement
```python
# SAT solving with 30-second timeout
result = solve_sat(large_clauses, num_variables=100)
# If timeout: TAOCPSafetyError with helpful message
```
### Input Validation
```python
# All inputs validated before computation
modular_exponentiation(2, -5, 997)
# Error: exponent must be a positive integer
```
---
## ๐ MCP Server (Coming Soon)
Make TAOCP tools available to any MCP-compatible agent:
```bash
# Install MCP server
pip install taocp-agent-mcp
# Run server
taocp-mcp-server
# Add to Claude Desktop config
{
"mcpServers": {
"taocp": {
"command": "taocp-mcp-server"
}
}
}
```
---
## ๐ Performance
| Tool Category | p50 | p95 | p99 |
|---------------|-----|-----|-----|
| Combinatorics (nโค10) | 10ms | 50ms | 100ms |
| SAT/CSP (small) | 50ms | 200ms | 500ms |
| Number Theory | 5ms | 20ms | 50ms |
| String Analysis (1MB) | 100ms | 500ms | 1s |
| Graph (100 nodes) | 50ms | 200ms | 500ms |
---
## ๐งช Testing
```bash
# Install dev dependencies
pip install -e ".[dev]"
# Run unit tests
pytest taocp_agent_tools/tests/ -v --cov=taocp_agent_tools
# Run integration tests
pytest taocp_agent_tools/tests/test_agent_integration.py -v
# Check coverage
coverage report --fail-under=95
```
---
## ๐ Documentation
- **[PRD](PRD_TAOCP_AGENT_TOOLS.md)** โ Complete 39-section Product Requirements Document
- **[Status Report](AGENT_TOOLS_STATUS.md)** โ Implementation status, metrics, next steps
- **[API Reference](docs/API_REFERENCE.md)** โ Full API documentation (auto-generated)
---
## ๐๏ธ Architecture
```
taocp_agent_tools/
โโโ __init__.py # Public API exports
โโโ _safety.py # Shared guards & validators
โโโ _types.py # Pydantic models for structured outputs
โโโ combinatorics.py # Tier 1: Permutations, combinations, partitions
โโโ exact_cover.py # Tier 1: DLX, SAT, CSP
โโโ number_theory.py # Tier 1: Modular arithmetic, primality
โโโ string_analysis.py # Tier 1: Aho-Corasick, suffix structures, BWT
โโโ graph_specialized.py # Tier 1: Matching, flow, SCC
โโโ symbolic_math.py # Tier 1: Differentiation, simplification
โโโ router.py # Meta-tool: Algorithm selection advisor
โโโ tests/
โโโ test_combinatorics.py
โโโ test_exact_cover.py
โโโ test_number_theory.py
โโโ test_string_analysis.py
โโโ test_graph.py
โโโ test_symbolic.py
โโโ test_router.py
โโโ test_agent_integration.py
```
---
## ๐ When to Use TAOCP Tools
### โ
Use TAOCP Tools When:
- You need **exhaustive combinatorial generation** (permutations, combinations, partitions)
- Solving **constraint satisfaction** problems (Sudoku, scheduling, puzzles)
- Performing **cryptographic computations** (modular exponentiation, primality testing)
- **Multi-pattern search** in large texts (DNA sequences, virus scanning)
- **Specialized graph algorithms** (bipartite matching, max flow, SCC)
- **Symbolic mathematics** (differentiation, simplification)
### โ Use Python Stdlib When:
- Basic sorting (`sorted()`, `list.sort()`)
- Basic searching (`bisect`, `in` operator)
- Simple randomization (`random.shuffle`, `random.sample`)
- Basic math (`math.factorial`, `math.comb`)
---
## ๐ค Contributing
Contributions welcome! Please:
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
### Development Setup
```bash
git clone https://github.com/ksjpswaroop/algorithmic-ai-mcp.git
cd algorithmic-ai-mcp
pip install -e ".[dev]"
pre-commit install
```
---
## ๐ License
Distributed under the MIT License. See [LICENSE](LICENSE) for more information.
---
## ๐ Acknowledgments
- **Donald Knuth** for The Art of Computer Programming โ the foundation of this library
- **TAOCP SDK** โ Core algorithm implementations
- **Hermes-Agent** โ Primary integration target and testing ground
- **MCP Foundation** โ Model Context Protocol for agent tool standardization
---
## ๐ฌ Contact
- **Author:** Swaroop (ksjpswaroop@gmail.com)
- **Repository:** https://github.com/ksjpswaroop/algorithmic-ai-mcp
- **TAOCP SDK:** https://github.com/ksjpswaroop/taocp-complete
---
## ๐ Roadmap
### v1.0 (MVP) โ Q4 2026
- โ
15 Tier 1 tools implemented
- โ
Safety guards on all tools
- โ
Integration tests with >90% accuracy
- โณ PyPI publication
- โณ MCP server packaging
### v1.1 โ Q1 2027
- String analysis tools (Aho-Corasick, suffix trees, BWT)
- Graph specialized tools (matching, flow, SCC)
- Symbolic math tools (differentiation, simplification)
- Documentation site
### v2.0 โ Q2 2027
- Tier 2 internal utilities
- Advanced routing (ML-based tool selection)
- Caching layer for repeated computations
- Rate limiting for shared deployments
- Streaming outputs for large generators
---
**Built with โค๏ธ for the AI agent ecosystem**
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues