diff --git a/README.md b/README.md index b6e9dca..d1a76a4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@
- Execution context engineering for AI agents. Rust. 11 crates. 331 tests.
+ Execution context engineering for AI agents.
One interface for tool discovery, validation, execution, and multi-step workflows.
Execution context engineering for AI agents. One interface for tool discovery, validation, execution, and multi-step workflows. Pure Rust. 11 crates.
- -One interface for local functions, MCP servers, and OpenAPI endpoints. Type-safe parameters with JSON Schema validation. Builder pattern APIs.
-Full Model Context Protocol support via rs-utcp. STDIO and HTTP transports. Tools, resources, and prompts. Drop-in for any MCP-compatible agent.
-Compose multi-step tool chains with variable interpolation, timeout/retry policies, execution hooks, and pluggable executors. Load from SKILL.md files.
-Filter and search tools with a powerful query language. Wildcards, boolean operators, parameter constraints. name:search and min:2
| Crate | Description | Tests |
|---|---|---|
| thulp-core | Core types, traits, parameter validation | 70 |
| thulp-mcp | MCP transport (STDIO/HTTP), tools, resources | 39 |
| thulp-skills | Multi-step workflows, executor, hooks, retry | 54 |
| thulp-skill-files | SKILL.md parsing, YAML frontmatter, scope priority | 23 |
| thulp-query | Query DSL with nom parser | 19 |
| thulp-workspace | Sessions, persistence, turn counting | 6 |
| thulp-adapter | OpenAPI v2/v3 to tool conversion | 10 |
| thulp-registry | Async thread-safe tool registry with tagging | 8 |
| thulp-browser | Web fetching, HTML parsing, optional CDP | 7 |
| thulp-guidance | Template rendering, LLM guidance primitives | 6 |
| thulp-cli | CLI with JSON output and shell completions | 32 |
use thulp_core::{ToolDefinition, Parameter, ParameterType};
-
-let tool = ToolDefinition::builder("search")
- .description("Search for information")
- .parameter(
- Parameter::builder("query")
- .param_type(ParameterType::String)
- .required(true)
- .build()
- )
- .build();
-
- use thulp_mcp::McpClient;
-
-let client = McpClient::connect_stdio("server", "mcp-server", None).await?;
-let tools = client.list_tools().await?;
-let result = client.call(&ToolCall::builder("search")
- .arg_str("query", "rust async")
- .build()).await?;
-
- thulp tools list --output json
-thulp tools validate search --args '{"query": "rust"}'
-thulp convert openapi spec.yaml --output tools.yaml
-thulp completions bash > ~/.local/share/bash-completion/completions/thulp
- | Project | What |
|---|---|
| pawan | CLI coding agent — uses thulp for tool abstraction |
| ares | Agentic retrieval-enhanced server |
| eruka | Context intelligence engine |
| daedra | Self-contained web search MCP server |
Execution context engineering for AI agents. One interface for tool discovery, validation, execution, and multi-step workflows. Pure Rust. 11 crates.
+Execution context engineering for AI agents. One interface for tool discovery, validation, execution, and multi-step workflows.