Algorithmic AI MCP
Algorithmic AI MCP โ TAOCP Agent Tools
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
pip install taocp-agent-toolsBasic Usage
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 guardsgenerate_combinations(items, k, max_count)โ K-combinations generationgenerate_integer_partitions(n, max_count)โ Integer partitionsfair_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 solversolve_csp(variables, domains, constraints)โ Constraint satisfaction
Number Theory (5 tools)
modular_exponentiation(base, exp, mod)โ Binary exponentiationmodular_inverse(a, m)โ Extended Euclidean algorithmchinese_remainder(remainders, moduli)โ Chinese Remainder Theoremprimality_test(n, rounds)โ Miller-Rabin primality testdiscrete_log(base, target, modulus)โ Baby-step giant-step
String Analysis (3 tools)
multi_pattern_search(text, patterns)โ Aho-Corasick multi-pattern matchingsuffix_tree_query(text, query_type)โ Suffix tree queriesburrows_wheeler_transform(text)โ BWT for compression
Graph Specialized (3 tools)
bipartite_matching(left, right, edges)โ Hopcroft-Karp matchingmax_flow(graph, source, sink)โ Ford-Fulkerson max flowstrongly_connected_components(graph)โ Tarjan's SCC algorithm
Symbolic Math (3 tools)
symbolic_differentiate(expression, variable, order)โ Symbolic differentiationsimplify_expression(expression)โ Algebraic simplificationevaluate_symbolic(expression, bindings)โ Expression evaluation
Router (1 meta-tool)
recommend_algorithm(task_description, constraints)โ Algorithm selection advisor
๐ก๏ธ Safety Features
Combinatorial Explosion Prevention
# 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
# SAT solving with 30-second timeout
result = solve_sat(large_clauses, num_variables=100)
# If timeout: TAOCPSafetyError with helpful messageInput Validation
# 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:
# 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
# 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 โ Complete 39-section Product Requirements Document
Status Report โ Implementation status, metrics, next steps
API Reference โ 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,inoperator)Simple randomization (
random.shuffle,random.sample)Basic math (
math.factorial,math.comb)
๐ค Contributing
Contributions welcome! Please:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
Development Setup
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 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
๐ 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