Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .brv
Submodule .brv updated from 2e6a74 to c9d9c1
8 changes: 8 additions & 0 deletions .changeset/mcp-resources-prompts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@caplets/core": minor
"caplets": minor
"@caplets/pi": minor
"@caplets/opencode": minor
---

Expose MCP resources, resource templates, prompts, and completions through MCP-backed Caplets while keeping non-MCP backend schemas tool-only.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ Instead of exposing a flat wall of tools, Caplets shows one top-level tool per c
The agent chooses a domain first, then uses scoped operations like `search_tools`,
`get_tool`, and `call_tool` only when it needs more detail.

For MCP-backed Caplets, the scoped operation set also includes resource discovery/reading,
prompt listing/rendering, resource-template discovery, and completion for prompt or template
arguments. Non-MCP backends continue to expose only tool/action operations.

## Quick Start

Caplets requires Node.js 22 or newer.
Expand Down Expand Up @@ -76,6 +80,11 @@ caplets list-tools context7
caplets get-tool context7.resolve-library-id
caplets call-tool context7.resolve-library-id --args '{"libraryName":"react"}'
caplets call-tool context7.resolve-library-id --args '{"libraryName":"react"}' --field result.id --format json
caplets list-resources docs
caplets read-resource docs file:///repo/README.md
caplets list-prompts linear
caplets get-prompt linear.review_issue --args '{"issueId":"CAP-123"}'
caplets complete docs --resource-template 'file:///repo/{path}' --argument path --value src/
```

Direct CLI operation commands print Markdown summaries by default. Add `--format plain` for plain text or `--format json` for machine-readable JSON (`md` is accepted as an alias for `markdown`). If a downstream tool returns `isError: true`, Caplets still exits with status code 1.
Expand Down
8 changes: 4 additions & 4 deletions docs/benchmarks/coding-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ The fixture uses local mock MCP metadata only. It does not call external APIs, d
## Summary

- Initial tools visible: direct flat MCP 106, Caplets top-level 3, 97.2% fewer.
- Serialized payload bytes: direct flat MCP 32090, Caplets top-level 3453, 89.2% fewer.
- Approx. tokens: direct flat MCP 8023, Caplets top-level 864, 7159 fewer.
- Serialized payload bytes: direct flat MCP 32090, Caplets top-level 3906, 87.8% fewer.
- Approx. tokens: direct flat MCP 8023, Caplets top-level 977, 7046 fewer.
- Candidate set before discovery: direct flat MCP 106, Caplets top-level 3, 103 fewer.

## Deterministic Results

Caplets reduces the initial serialized MCP tool payload by 89.2%, from 32090 bytes to 3453 bytes. It reduces initially visible tools by 97.2%, from 106 direct flat tools to 3 Caplets capability tools, while preserving access to downstream tools through scoped discovery and `call_tool`.
Caplets reduces the initial serialized MCP tool payload by 87.8%, from 32090 bytes to 3906 bytes. It reduces initially visible tools by 97.2%, from 106 direct flat tools to 3 Caplets capability tools, while preserving access to downstream tools through scoped discovery and `call_tool`.

## Collision Check

Expand All @@ -38,7 +38,7 @@ Caplets starts from 3 capability tools. Expected task-specific discovery is 4 ca

## Validation

- Initial payload reduction threshold: 89.2% >= 70.0%
- Initial payload reduction threshold: 87.8% >= 70.0%
- Top-level Caplets collisions: 0

Payload implementation: `source`
Expand Down
Loading