AI Tools Stack¶
Welcome to the unified documentation for the AI Tools Stack. This site brings all tool libraries together in one place and shows how they compose into a progressive-disclosure MCP surface.
Simple and elegant at the core, extensible through modular, pluggable architecture.
Deep dives¶
What this stack provides¶
| Layer | Components | Purpose |
|---|---|---|
| Foundation | toolfoundation (model, adapter, version) | Canonical schemas + protocol adapters |
| Discovery | tooldiscovery (index, tooldoc, search, semantic) | Registry, docs, search strategies |
| Execution | toolexec (run, code, runtime, backend) | Execution, chaining, sandboxing |
| Execution (Integrations) | toolexec-integrations (kubernetes, proxmox, remotehttp) | Concrete runtime clients |
| Composition | toolcompose (set, skill) | Filtered collections, skill workflows |
| Operations | toolops (observe, cache, auth, resilience, health) | Observability + production controls |
| Protocol | toolprotocol (transport, wire, content, stream, task, session, resource, prompt, elicit) | Protocol primitives |
| Surface | metatools-mcp, metatools-a2a | MCP + A2A servers wiring |
High-level Flow¶
Diagram controls
Click any diagram to open a zoomable, pannable view. Scroll/pinch to zoom and drag to pan.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2b6cb0', 'primaryTextColor': '#fff', 'lineColor': '#4a5568'}}}%%
flowchart TB
subgraph client["Client"]
Agent["π€ AI Agent"]
end
subgraph surface["Protocol Surfaces"]
MCP["π· metatools-mcp<br/><small>JSON-RPC / SSE</small>"]
A2A["π· metatools-a2a<br/><small>A2A JSON-RPC / REST / SSE</small>"]
end
subgraph operations["Operations"]
Observe["ποΈ toolops/observe"]
Cache["πΎ toolops/cache"]
Auth["π toolops/auth"]
Resilience["π§― toolops/resilience"]
Health["π toolops/health"]
end
subgraph composition["Composition"]
Toolset["π¦ toolcompose/set"]
Skill["π― toolcompose/skill"]
end
subgraph protocol["Protocol"]
Wire["π toolprotocol/wire"]
Transport["π‘ toolprotocol/transport"]
Content["π§© toolprotocol/content"]
end
subgraph execution["Execution"]
Run["βΆοΈ toolexec/run"]
Code["π» toolexec/code"]
Runtime["π toolexec/runtime"]
end
subgraph discovery["Discovery"]
Index["π tooldiscovery/index"]
Docs["π tooldiscovery/tooldoc"]
Search["π tooldiscovery/search"]
Semantic["π§ tooldiscovery/semantic"]
end
subgraph foundation["Foundation"]
Model["π§± toolfoundation/model"]
Adapter["π§© toolfoundation/adapter"]
Version["π·οΈ toolfoundation/version"]
end
subgraph backends["Backends"]
Local["π Local"]
Provider["π Provider"]
MCPBackend["π‘ MCP Server"]
Docker["π³ Docker"]
end
Agent <-->|"MCP Protocol"| MCP
Agent <-->|"A2A Protocol"| A2A
MCP --> Observe
MCP --> Cache
MCP --> Auth
MCP --> Resilience
MCP --> Health
MCP --> Toolset
MCP --> Skill
MCP --> Wire
MCP --> Transport
MCP --> Content
MCP --> Index
MCP --> Docs
Index --> Search
Index --> Semantic
MCP --> Run
Run --> Code
Code --> Runtime
Toolset --> Index
Toolset --> Model
Skill --> Run
Index --> Model
Docs --> Model
Adapter --> Model
Version --> Model
Run --> Local
Run --> Provider
Run --> MCPBackend
Runtime --> Docker
style client fill:#4a5568,stroke:#2d3748,stroke-width:2px
style surface fill:#2b6cb0,stroke:#2c5282,stroke-width:3px
style operations fill:#e53e3e,stroke:#c53030
style composition fill:#6b46c1,stroke:#553c9a
style protocol fill:#d69e2e,stroke:#b7791f
style execution fill:#38a169,stroke:#276749
style discovery fill:#3182ce,stroke:#2c5282
style foundation fill:#718096,stroke:#4a5568
style backends fill:#2d3748,stroke:#1a202c Progressive Disclosure¶
The core usability pattern: discover β describe β execute
%%{init: {'theme': 'base', 'themeVariables': {'actorBkg': '#2b6cb0', 'actorTextColor': '#fff'}}}%%
sequenceDiagram
autonumber
participant Agent as π€ Agent
participant MCP as π· metatools-mcp
rect rgb(43, 108, 176, 0.1)
Note over Agent,MCP: 1. Discovery (Token-Cheap)
Agent->>MCP: search_tools("create issue")
MCP-->>Agent: Summary[] (no schemas)
end
rect rgb(214, 158, 46, 0.1)
Note over Agent,MCP: 2. Description (On-Demand)
Agent->>MCP: describe_tool(id, "schema")
MCP-->>Agent: Full tool schema
end
rect rgb(56, 161, 105, 0.1)
Note over Agent,MCP: 3. Execution (Validated)
Agent->>MCP: run_tool(id, args)
MCP-->>Agent: Execution result
end Quickstart¶
- Start with
toolfoundation/modelfor your canonical schemas - Register tools in
tooldiscovery/indexfor discovery - Add docs/examples in
tooldiscovery/tooldoc - Execute tools via
toolexec/run - Expose the MCP surface using
metatools-mcp - Expose the A2A surface using
metatools-a2a(optional)
See the Components section for per-library examples and diagrams.
Design Notes and User Journeys¶
For deeper context, see the aggregated indexes:
- Design Notes Index β perβrepo tradeoffs and error semantics
- User Journeys Index β endβtoβend agent workflows
Docs from each repo¶
Under Library Docs (from repos) you will find the docs imported directly from each repository at build time.