tokrepo-mcp-server 2.8.0 → 2.9.0
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 +6 -2
- package/bin/server.js +82 -4
- package/package.json +7 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ Once connected, your AI assistant can:
|
|
|
43
43
|
- **Safe Codex install** — dry-run by default; risky assets must be staged or explicitly approved
|
|
44
44
|
- **Lifecycle control** — list, update, uninstall, and roll back managed Codex installs
|
|
45
45
|
- **Project memory** — pair with `tokrepo init-agent --target all` so future agents know to call TokRepo during planning
|
|
46
|
-
- **Discovery surfaces** — official MCP `server.json`, `.well-known`, `llms.txt`, and npm metadata are kept machine-readable for agents and registries
|
|
46
|
+
- **Discovery surfaces** — official MCP `server.json`, A2A agent card, portable agent manifest, tool catalog, `.well-known`, `agents.txt`, `llms.txt`, and npm metadata are kept machine-readable for agents and registries
|
|
47
47
|
- **Funnel visibility** — anonymous aggregate events show whether agents actually discover, plan, install, hand off, and push reusable assets
|
|
48
48
|
|
|
49
49
|
## Available Tools
|
|
@@ -84,7 +84,7 @@ Run this once in a project:
|
|
|
84
84
|
npx tokrepo init-agent --target all
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
It writes managed instructions to `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, Cursor rules, and `.mcp.json`. The rule is simple: during planning, when the agent sees a capability gap, it should call `tokrepo_discover` before inventing a one-off local tool. After a task, agents can run `tokrepo agent-handoff --json` to suggest reusable files for user-confirmed private publishing.
|
|
87
|
+
It writes managed instructions to `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, Cursor rules, GitHub Copilot instructions, Cline rules, Windsurf rules, Roo rules, OpenHands microagents, Aider conventions, and `.mcp.json`. The rule is simple: during planning, when the agent sees a capability gap, it should call `tokrepo_discover` before inventing a one-off local tool. After a task, agents can run `tokrepo agent-handoff --json` to suggest reusable files for user-confirmed private publishing.
|
|
88
88
|
|
|
89
89
|
## Machine-Readable Listing
|
|
90
90
|
|
|
@@ -92,6 +92,10 @@ Registries and agents can discover this server through:
|
|
|
92
92
|
|
|
93
93
|
- MCP server manifest: [tokrepo.com/.well-known/mcp/server.json](https://tokrepo.com/.well-known/mcp/server.json)
|
|
94
94
|
- TokRepo manifest: [tokrepo.com/.well-known/tokrepo.json](https://tokrepo.com/.well-known/tokrepo.json)
|
|
95
|
+
- Portable agent manifest: [tokrepo.com/.well-known/agent.json](https://tokrepo.com/.well-known/agent.json)
|
|
96
|
+
- A2A agent card: [tokrepo.com/.well-known/agent-card.json](https://tokrepo.com/.well-known/agent-card.json)
|
|
97
|
+
- Tool catalog: [tokrepo.com/.well-known/tool-catalog.json](https://tokrepo.com/.well-known/tool-catalog.json)
|
|
98
|
+
- Agent text entry: [tokrepo.com/agents.txt](https://tokrepo.com/agents.txt)
|
|
95
99
|
- Agent instructions: [tokrepo.com/agent-instructions/tokrepo.md](https://tokrepo.com/agent-instructions/tokrepo.md)
|
|
96
100
|
- LLM crawler entry: [tokrepo.com/llms.txt](https://tokrepo.com/llms.txt)
|
|
97
101
|
|
package/bin/server.js
CHANGED
|
@@ -20,7 +20,7 @@ const API_BASE = process.env.TOKREPO_API || 'https://api.tokrepo.com';
|
|
|
20
20
|
const TOKREPO_URL = 'https://tokrepo.com';
|
|
21
21
|
const TOKREPO_TOKEN = process.env.TOKREPO_TOKEN || '';
|
|
22
22
|
const TOKREPO_CLI = process.env.TOKREPO_CLI || '';
|
|
23
|
-
const SERVER_VERSION = '2.
|
|
23
|
+
const SERVER_VERSION = '2.9.0';
|
|
24
24
|
|
|
25
25
|
// ─── MCP Protocol (JSON-RPC over stdio) ───
|
|
26
26
|
|
|
@@ -47,7 +47,7 @@ const TOOLS = [
|
|
|
47
47
|
target: {
|
|
48
48
|
type: 'string',
|
|
49
49
|
description: 'Optional agent/runtime target. Use "any" for generic discovery.',
|
|
50
|
-
enum: ['any', 'codex', 'claude_code', 'gemini_cli', 'cursor', 'windsurf', 'mcp_client'],
|
|
50
|
+
enum: ['any', 'codex', 'claude_code', 'gemini_cli', 'cursor', 'copilot', 'cline', 'windsurf', 'roo', 'openhands', 'aider', 'mcp_client'],
|
|
51
51
|
default: 'any',
|
|
52
52
|
},
|
|
53
53
|
environment: {
|
|
@@ -92,7 +92,7 @@ const TOOLS = [
|
|
|
92
92
|
target: {
|
|
93
93
|
type: 'string',
|
|
94
94
|
description: 'Optional agent target filter. Use "any" or omit it for generic discovery.',
|
|
95
|
-
enum: ['any', 'codex', 'claude_code', 'gemini_cli', 'cursor', 'windsurf', 'mcp_client'],
|
|
95
|
+
enum: ['any', 'codex', 'claude_code', 'gemini_cli', 'cursor', 'copilot', 'cline', 'windsurf', 'roo', 'openhands', 'aider', 'mcp_client'],
|
|
96
96
|
},
|
|
97
97
|
kind: {
|
|
98
98
|
type: 'string',
|
|
@@ -444,7 +444,85 @@ const EXPOSED_TOOL_NAMES = new Set([
|
|
|
444
444
|
'tokrepo_push',
|
|
445
445
|
]);
|
|
446
446
|
|
|
447
|
-
const
|
|
447
|
+
const TOOL_ANNOTATIONS = {
|
|
448
|
+
tokrepo_discover: {
|
|
449
|
+
title: 'Discover reusable AI assets before inventing a one-off tool',
|
|
450
|
+
readOnlyHint: true,
|
|
451
|
+
destructiveHint: false,
|
|
452
|
+
idempotentHint: true,
|
|
453
|
+
openWorldHint: true,
|
|
454
|
+
},
|
|
455
|
+
tokrepo_search: {
|
|
456
|
+
title: 'Search reusable AI assets',
|
|
457
|
+
readOnlyHint: true,
|
|
458
|
+
destructiveHint: false,
|
|
459
|
+
idempotentHint: true,
|
|
460
|
+
openWorldHint: true,
|
|
461
|
+
},
|
|
462
|
+
tokrepo_detail: {
|
|
463
|
+
title: 'Read asset details and metadata',
|
|
464
|
+
readOnlyHint: true,
|
|
465
|
+
destructiveHint: false,
|
|
466
|
+
idempotentHint: true,
|
|
467
|
+
openWorldHint: true,
|
|
468
|
+
},
|
|
469
|
+
tokrepo_install_plan: {
|
|
470
|
+
title: 'Plan an install before any file write',
|
|
471
|
+
readOnlyHint: true,
|
|
472
|
+
destructiveHint: false,
|
|
473
|
+
idempotentHint: true,
|
|
474
|
+
openWorldHint: true,
|
|
475
|
+
},
|
|
476
|
+
tokrepo_codex_install: {
|
|
477
|
+
title: 'Dry-run, stage, or install an asset for Codex',
|
|
478
|
+
readOnlyHint: false,
|
|
479
|
+
destructiveHint: true,
|
|
480
|
+
idempotentHint: false,
|
|
481
|
+
openWorldHint: true,
|
|
482
|
+
},
|
|
483
|
+
tokrepo_installed: {
|
|
484
|
+
title: 'List locally installed TokRepo assets',
|
|
485
|
+
readOnlyHint: true,
|
|
486
|
+
destructiveHint: false,
|
|
487
|
+
idempotentHint: true,
|
|
488
|
+
openWorldHint: false,
|
|
489
|
+
},
|
|
490
|
+
tokrepo_update: {
|
|
491
|
+
title: 'Dry-run or update installed TokRepo assets',
|
|
492
|
+
readOnlyHint: false,
|
|
493
|
+
destructiveHint: true,
|
|
494
|
+
idempotentHint: false,
|
|
495
|
+
openWorldHint: true,
|
|
496
|
+
},
|
|
497
|
+
tokrepo_uninstall: {
|
|
498
|
+
title: 'Dry-run or uninstall a TokRepo-managed asset',
|
|
499
|
+
readOnlyHint: false,
|
|
500
|
+
destructiveHint: true,
|
|
501
|
+
idempotentHint: false,
|
|
502
|
+
openWorldHint: false,
|
|
503
|
+
},
|
|
504
|
+
tokrepo_rollback: {
|
|
505
|
+
title: 'Dry-run or roll back a TokRepo install session',
|
|
506
|
+
readOnlyHint: false,
|
|
507
|
+
destructiveHint: true,
|
|
508
|
+
idempotentHint: false,
|
|
509
|
+
openWorldHint: false,
|
|
510
|
+
},
|
|
511
|
+
tokrepo_push: {
|
|
512
|
+
title: 'Publish explicit reviewed files to TokRepo after confirmation',
|
|
513
|
+
readOnlyHint: false,
|
|
514
|
+
destructiveHint: true,
|
|
515
|
+
idempotentHint: false,
|
|
516
|
+
openWorldHint: true,
|
|
517
|
+
},
|
|
518
|
+
};
|
|
519
|
+
|
|
520
|
+
const EXPOSED_TOOLS = TOOLS
|
|
521
|
+
.filter((tool) => EXPOSED_TOOL_NAMES.has(tool.name))
|
|
522
|
+
.map((tool) => ({
|
|
523
|
+
...tool,
|
|
524
|
+
annotations: TOOL_ANNOTATIONS[tool.name],
|
|
525
|
+
}));
|
|
448
526
|
|
|
449
527
|
// ─── HTTP Helper ───
|
|
450
528
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tokrepo-mcp-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "Agent-native MCP server for TokRepo — search, plan, safely install, and push AI assets from MCP clients.",
|
|
5
5
|
"mcpName": "io.github.henu-wang/tokrepo-mcp-server",
|
|
6
6
|
"bin": {
|
|
@@ -24,6 +24,10 @@
|
|
|
24
24
|
"cursor",
|
|
25
25
|
"codex",
|
|
26
26
|
"gemini",
|
|
27
|
+
"copilot",
|
|
28
|
+
"cline",
|
|
29
|
+
"windsurf",
|
|
30
|
+
"openhands",
|
|
27
31
|
"skills",
|
|
28
32
|
"prompts",
|
|
29
33
|
"workflows",
|
|
@@ -33,6 +37,8 @@
|
|
|
33
37
|
"claude-code",
|
|
34
38
|
"openai-codex",
|
|
35
39
|
"mcp-registry",
|
|
40
|
+
"agent-manifest",
|
|
41
|
+
"a2a-agent-card",
|
|
36
42
|
"tool-discovery",
|
|
37
43
|
"llms-txt"
|
|
38
44
|
],
|