caplets 0.12.4 → 0.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -10
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="assets/icon.png" alt="Caplets logo" width="140" height="140" />
|
|
2
|
+
<img src="plugins/caplets/assets/icon.png" alt="Caplets logo" width="140" height="140" />
|
|
3
3
|
|
|
4
4
|
<h1>Caplets</h1>
|
|
5
5
|
|
|
@@ -81,9 +81,11 @@ your coding agent supports one.
|
|
|
81
81
|
| OpenCode | Install [`@caplets/opencode`](packages/opencode/README.md) | Native `caplets_<id>` tools and prompt guidance hooks |
|
|
82
82
|
| Pi | Install [`@caplets/pi`](packages/pi/README.md) | Native `caplets_<id>` tools with Pi prompt snippets/guidelines |
|
|
83
83
|
|
|
84
|
-
Codex and Claude Code plugins are plugin-native but MCP-backed.
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
Codex and Claude Code plugins are plugin-native but MCP-backed. The installable plugin
|
|
85
|
+
lives under `plugins/caplets/`, with agent-specific manifests in `.codex-plugin/` and
|
|
86
|
+
`.claude-plugin/`, a shared `skills/` directory, and shared `mcp.json` config. The
|
|
87
|
+
repo-level `.agents/plugins/marketplace.json` and `.claude-plugin/marketplace.json`
|
|
88
|
+
files only advertise that installable plugin root.
|
|
87
89
|
|
|
88
90
|
The Claude Code and Codex commands install from this GitHub repository through each agent's
|
|
89
91
|
plugin marketplace flow; users do not need to clone the repository manually. Plugin MCP
|
|
@@ -123,8 +125,8 @@ exposed two ways: direct flat MCP aggregation versus Caplets progressive disclos
|
|
|
123
125
|
| Initial Agent Surface | Direct Flat MCP | Caplets | Reduction |
|
|
124
126
|
| ------------------------- | ----------------: | -----------: | ------------: |
|
|
125
127
|
| Visible tools | 106 | 3 | 97.2% fewer |
|
|
126
|
-
| Serialized MCP payload | 32,090 bytes | 8,
|
|
127
|
-
| Approx. context surface | 8,023 tokens | 2,
|
|
128
|
+
| Serialized MCP payload | 32,090 bytes | 8,442 bytes | 73.7% smaller |
|
|
129
|
+
| Approx. context surface | 8,023 tokens | 2,111 tokens | 5,912 fewer |
|
|
128
130
|
| Top-level name collisions | 3 duplicate names | 0 | eliminated |
|
|
129
131
|
|
|
130
132
|
Caplets does not remove access to downstream tools. It places them behind scoped
|
|
@@ -299,7 +301,7 @@ the committed schema stays in sync with the Zod config validator.
|
|
|
299
301
|
|
|
300
302
|
For richer skill-like cards, add Markdown Caplet files beside `config.json`. Every Caplet
|
|
301
303
|
file must include exactly one executable backend: `mcpServer`, `openapiEndpoint`,
|
|
302
|
-
`graphqlEndpoint`, `httpApi`, or `
|
|
304
|
+
`graphqlEndpoint`, `httpApi`, `cliTools`, or `capletSet`;
|
|
303
305
|
serverless Caplets are intentionally out of scope.
|
|
304
306
|
|
|
305
307
|
Top-level files derive the Caplet ID from the filename:
|
|
@@ -452,7 +454,7 @@ caplets init --force
|
|
|
452
454
|
|
|
453
455
|
### Caplet IDs
|
|
454
456
|
|
|
455
|
-
Each key under `mcpServers`, `openapiEndpoints`, `graphqlEndpoints`, `httpApis`, or `
|
|
457
|
+
Each key under `mcpServers`, `openapiEndpoints`, `graphqlEndpoints`, `httpApis`, `cliTools`, or `capletSets` is the
|
|
456
458
|
stable Caplet ID. It becomes the generated MCP tool name exactly, so keep it short and specific:
|
|
457
459
|
|
|
458
460
|
```json
|
|
@@ -469,7 +471,7 @@ stable Caplet ID. It becomes the generated MCP tool name exactly, so keep it sho
|
|
|
469
471
|
```
|
|
470
472
|
|
|
471
473
|
Caplet IDs must match `^[a-zA-Z0-9_-]{1,64}$` and must be unique across `mcpServers`,
|
|
472
|
-
`openapiEndpoints`, `graphqlEndpoints`, `httpApis`, and `
|
|
474
|
+
`openapiEndpoints`, `graphqlEndpoints`, `httpApis`, `cliTools`, and `capletSets`. Spaces, dots, slashes, colons, and Unicode IDs are rejected.
|
|
473
475
|
|
|
474
476
|
### Stdio Servers
|
|
475
477
|
|
|
@@ -687,6 +689,42 @@ Pass `-g` or `--global` to write to the user Caplets root, `--print` to review t
|
|
|
687
689
|
manifest without writing, `--output <path>` for an explicit destination, or `--force` to overwrite
|
|
688
690
|
an existing destination file.
|
|
689
691
|
|
|
692
|
+
### Caplet Sets
|
|
693
|
+
|
|
694
|
+
Use `capletSets` to expose another Caplets collection as nested Caplets. Each child Caplet appears
|
|
695
|
+
as one downstream tool and supports the full Caplets operation set: `get_caplet`, `check_backend`,
|
|
696
|
+
`check_mcp_server`, `list_tools`, `search_tools`, `get_tool`, and `call_tool`.
|
|
697
|
+
|
|
698
|
+
```json
|
|
699
|
+
{
|
|
700
|
+
"capletSets": {
|
|
701
|
+
"team": {
|
|
702
|
+
"name": "Team Caplets",
|
|
703
|
+
"description": "Use the team's shared Caplets collection.",
|
|
704
|
+
"configPath": "./team-caplets/config.json",
|
|
705
|
+
"capletsRoot": "./team-caplets/caplets"
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
`configPath` and `capletsRoot` are independently optional, but at least one is required. Child
|
|
712
|
+
collections are isolated from the parent collection; they use their own config and Caplet files,
|
|
713
|
+
with their own `defaultSearchLimit` and `maxSearchLimit` when set on the `capletSets` entry.
|
|
714
|
+
Recursive nesting is supported, and repeated source paths are rejected as cycles.
|
|
715
|
+
|
|
716
|
+
Markdown Caplet files use `capletSet` frontmatter:
|
|
717
|
+
|
|
718
|
+
```yaml
|
|
719
|
+
---
|
|
720
|
+
name: Team Caplets
|
|
721
|
+
description: Use the team's shared Caplets collection.
|
|
722
|
+
capletSet:
|
|
723
|
+
configPath: ./team-caplets/config.json
|
|
724
|
+
capletsRoot: ./team-caplets/caplets
|
|
725
|
+
---
|
|
726
|
+
```
|
|
727
|
+
|
|
690
728
|
Add MCP, OpenAPI, GraphQL, and HTTP API Caplets with the same destination options:
|
|
691
729
|
|
|
692
730
|
```sh
|
|
@@ -852,7 +890,7 @@ Call one exact downstream tool:
|
|
|
852
890
|
Available operations:
|
|
853
891
|
|
|
854
892
|
- `get_caplet`: return the configured capability card without starting the downstream server.
|
|
855
|
-
- `check_backend`: verify the selected backend, whether MCP, OpenAPI, or
|
|
893
|
+
- `check_backend`: verify the selected backend, whether MCP, OpenAPI, GraphQL, HTTP, CLI, or nested Caplets.
|
|
856
894
|
- `check_mcp_server`: start or connect to an MCP server and verify its tool list.
|
|
857
895
|
- `list_tools`: return compact downstream tool metadata.
|
|
858
896
|
- `search_tools`: search downstream tool names and descriptions within this Caplet.
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
3
|
import { CapletsRuntime, runCli } from "@caplets/core";
|
|
4
4
|
//#region package.json
|
|
5
|
-
var version = "0.12.
|
|
5
|
+
var version = "0.12.6";
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/index.ts
|
|
8
8
|
async function main() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "caplets",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.6",
|
|
4
4
|
"description": "Progressive disclosure gateway CLI for MCP servers and native Caplets adapters.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"caplets",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
37
|
-
"@caplets/core": "0.
|
|
37
|
+
"@caplets/core": "0.13.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^25.7.0",
|