@vantageos/vantage-registry-mcp 1.1.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.
Files changed (3) hide show
  1. package/README.md +239 -0
  2. package/package.json +31 -0
  3. package/server.ts +1267 -0
package/README.md ADDED
@@ -0,0 +1,239 @@
1
+ # @vantageos/vantage-registry-mcp
2
+
3
+ MCP server exposing [VantageRegistry](https://github.com/elpiarthera/vantage-registry) Convex functions as Claude Code tools via stdio transport.
4
+
5
+ **Version:** 1.1.0
6
+ **Backend:** Convex (vibrant-ibex-858)
7
+ **Transport:** stdio (Claude Code MCP protocol)
8
+
9
+ ---
10
+
11
+ ## Installation
12
+
13
+ Add to your Claude Code MCP config (`.claude/mcp.json` or equivalent):
14
+
15
+ ```json
16
+ {
17
+ "mcpServers": {
18
+ "vantage-registry": {
19
+ "command": "bunx",
20
+ "args": ["@vantageos/vantage-registry-mcp"],
21
+ "env": {
22
+ "CONVEX_URL": "https://vibrant-ibex-858.convex.site"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ ```
28
+
29
+ Or set `CONVEX_URL` in `.env.local` at the repo root.
30
+
31
+ ---
32
+
33
+ ## Tools
34
+
35
+ ### Teams
36
+
37
+ | Tool | Description |
38
+ |------|-------------|
39
+ | `upsert_team` | Create or update a team (upsert by name) |
40
+ | `list_teams` | List all teams — optional `status` filter |
41
+ | `get_team` | Get a team by Convex document ID |
42
+
43
+ ### Agents
44
+
45
+ | Tool | Description |
46
+ |------|-------------|
47
+ | `upsert_agent` | Create or update an agent (upsert by name) |
48
+ | `list_agents` | List agents — optional `status` / `team` filters |
49
+ | `list_agents_by_team` | List agents for a specific team |
50
+ | `get_agent` | Get an agent by Convex document ID |
51
+
52
+ ### Skills
53
+
54
+ | Tool | Description |
55
+ |------|-------------|
56
+ | `upsert_skill` | Create or update a skill (upsert by name) |
57
+ | `list_skills` | List skills — optional `status` / `team` / `category` filters |
58
+ | `list_skills_by_team` | List skills for a specific team |
59
+ | `list_skills_by_category` | List skills for a specific category |
60
+ | `get_skill` | Get a skill by Convex document ID |
61
+
62
+ ### Plugins
63
+
64
+ | Tool | Description |
65
+ |------|-------------|
66
+ | `upsert_plugin` | Create or update a plugin (upsert by name) |
67
+ | `list_plugins` | List plugins — optional `status` filter |
68
+ | `get_plugin` | Get a plugin by Convex document ID |
69
+
70
+ ### Hooks
71
+
72
+ | Tool | Description |
73
+ |------|-------------|
74
+ | `upsert_hook` | Create or update a hook (upsert by name) |
75
+ | `list_hooks` | List hooks — optional `status` / `event` / `scope` filters |
76
+ | `get_hook` | Get a hook by Convex document ID |
77
+
78
+ ### Prompts
79
+
80
+ | Tool | Description |
81
+ |------|-------------|
82
+ | `upsert_prompt` | Create or update a prompt (upsert by name) |
83
+ | `list_prompts` | List prompts — optional `status` / `team` filters |
84
+ | `get_prompt` | Get a prompt by Convex document ID |
85
+
86
+ ### Templates
87
+
88
+ | Tool | Description |
89
+ |------|-------------|
90
+ | `upsert_template` | Create or update a template (upsert by name) |
91
+ | `list_templates` | List templates — optional `team` and `template_type` filters |
92
+ | `get_template` | Get a template by Convex document ID |
93
+
94
+ **New in 1.1.0:** `list_templates` accepts a `template_type` filter:
95
+ ```
96
+ template_type: "mission" | "document" | "checklist"
97
+ ```
98
+
99
+ Example: list only checklist templates for the core team:
100
+ ```
101
+ list_templates(team="core", template_type="checklist")
102
+ ```
103
+
104
+ ### Runbooks
105
+
106
+ **New in 1.1.0.** Runbooks are structured, versioned operational playbooks stored in VantageRegistry.
107
+
108
+ | Tool | Description |
109
+ |------|-------------|
110
+ | `upsert_runbook` | Create or update a runbook (upsert by name) |
111
+ | `get_runbook` | Get a runbook by slug — optionally guard by version |
112
+ | `list_runbooks` | List runbooks — optional `status`, `category`, `team`, applicability filters |
113
+ | `list_runbooks_by_category` | List runbooks for a specific category (uses byCategory index) |
114
+ | `list_runbooks_by_team` | List runbooks for a specific team (uses byTeam index) |
115
+ | `delete_runbook` | Soft-delete a runbook — sets status to `deprecated` |
116
+
117
+ **Runbook status values:** `draft | published | deprecated`
118
+
119
+ **Example invocations:**
120
+
121
+ ```
122
+ # Get a specific runbook
123
+ get_runbook(name="deploy-production", version="1.0.0")
124
+
125
+ # List all published deployment runbooks
126
+ list_runbooks(status="published", category="deployment")
127
+
128
+ # List all runbooks for the core team
129
+ list_runbooks_by_team(team="core")
130
+
131
+ # List all published runbooks in the quality category
132
+ list_runbooks_by_category(category="quality", status="published")
133
+
134
+ # Soft-delete a runbook
135
+ delete_runbook(name="old-process-v1")
136
+ ```
137
+
138
+ **Upsert a runbook (minimal example):**
139
+
140
+ ```
141
+ upsert_runbook(
142
+ name="onboard-agent",
143
+ description="Standard protocol to onboard a new agent to the fleet",
144
+ version="1.0.0",
145
+ status="draft",
146
+ category="onboarding",
147
+ tags=["agent", "onboarding", "fleet"],
148
+ content="# Onboard Agent\n\n...",
149
+ phases=[{ name="prep", description="Preparation phase", steps=[], gate=null }],
150
+ inputs=[],
151
+ outputs=[],
152
+ applicability={ orchestrators=["omega"], business_units=[], use_cases=[] },
153
+ author="omega",
154
+ team="core",
155
+ related_skills=[],
156
+ related_agents=[],
157
+ linked_templates=[]
158
+ )
159
+ ```
160
+
161
+ ### Stats
162
+
163
+ | Tool | Description |
164
+ |------|-------------|
165
+ | `get_stats` | Registry overview — counts per table including runbooks breakdown |
166
+
167
+ **New in 1.1.0:** `get_stats` response includes `runbooks_count`:
168
+
169
+ ```json
170
+ {
171
+ "teams": 18,
172
+ "agents": 148,
173
+ "skills": 328,
174
+ "plugins": 16,
175
+ "hooks": 22,
176
+ "runbooks_count": {
177
+ "total": 0,
178
+ "by_status": {
179
+ "draft": 0,
180
+ "published": 0,
181
+ "deprecated": 0
182
+ },
183
+ "by_category": {}
184
+ },
185
+ "total": 532
186
+ }
187
+ ```
188
+
189
+ ---
190
+
191
+ ## Schema
192
+
193
+ ### runbooks table (new in 1.1.0)
194
+
195
+ | Field | Type | Notes |
196
+ |-------|------|-------|
197
+ | `name` | string | Unique slug — upsert key |
198
+ | `description` | string | Purpose summary |
199
+ | `version` | string | Semantic version |
200
+ | `status` | `draft \| published \| deprecated` | Lifecycle state |
201
+ | `category` | string | e.g. `deployment`, `quality`, `onboarding` |
202
+ | `tags` | string[] | Searchable tags |
203
+ | `content` | string | Full markdown content |
204
+ | `phases` | Phase[] | Ordered phases with steps and gates |
205
+ | `inputs` | RunbookInput[] | Required input parameters |
206
+ | `outputs` | RunbookOutput[] | Produced output artifacts |
207
+ | `applicability` | object | `orchestrators`, `business_units`, `use_cases` slugs |
208
+ | `author` | string | Author slug |
209
+ | `team` | string | Owning team slug |
210
+ | `related_skills` | string[] | Referenced skill slugs |
211
+ | `related_agents` | string[] | Referenced agent slugs |
212
+ | `linked_templates` | LinkedTemplate[] | Templates used within this runbook |
213
+ | `embedding` | float64[1536] | OpenAI ada-002 embedding for hybrid search |
214
+
215
+ **Indexes:** `byName`, `byStatus`, `byCategory`, `byTeam`
216
+ **Vector index:** `byEmbedding` (1536 dimensions, filter fields: `status`, `category`, `team`)
217
+
218
+ ### templates table (enriched in 1.1.0)
219
+
220
+ Added optional `template_type` discriminator field:
221
+ - Values: `mission | document | checklist`
222
+ - Default backfill: `"mission"` for all existing templates
223
+
224
+ ---
225
+
226
+ ## Requirements
227
+
228
+ - [Bun](https://bun.sh) runtime (server is authored in TypeScript for Bun)
229
+ - `CONVEX_URL` environment variable pointing to the VantageRegistry Convex deployment
230
+
231
+ ---
232
+
233
+ ## Changelog
234
+
235
+ See [CHANGELOG.md](../CHANGELOG.md) at the repo root.
236
+
237
+ ---
238
+
239
+ Orchestrator: Omega — VantageOS Team | 2026-05-19
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@vantageos/vantage-registry-mcp",
3
+ "version": "1.1.0",
4
+ "description": "MCP server exposing VantageRegistry Convex functions as Claude Code tools",
5
+ "type": "module",
6
+ "bin": {
7
+ "vantage-registry": "./server.ts"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc --project tsconfig.json",
11
+ "dev": "bun run server.ts"
12
+ },
13
+ "files": [
14
+ "server.ts",
15
+ "server.js",
16
+ "README.md"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "dependencies": {
22
+ "@modelcontextprotocol/sdk": "^1.28.0",
23
+ "convex": "^1.34.0",
24
+ "dotenv": "^16.0.0",
25
+ "zod": "^4.3.6"
26
+ },
27
+ "devDependencies": {
28
+ "@types/node": "^22.0.0",
29
+ "typescript": "^5.9.3"
30
+ }
31
+ }