@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.
- package/README.md +239 -0
- package/package.json +31 -0
- 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
|
+
}
|