@kynver-app/mcp-agent-os 0.1.1 → 0.2.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/dist/server.js +52 -0
- package/package.json +5 -2
package/dist/server.js
CHANGED
|
@@ -181,5 +181,57 @@ export function createAgentOsServer() {
|
|
|
181
181
|
});
|
|
182
182
|
register("agent_os_get_contacts", "Get all people the agent knows: their relationship, context, preferences, and notes. Replaces reading USER.md and contact sections of MEMORY.md.", { slug: z.string().optional() }, async (args) => jsonResult(await get(`/agent-os/${osSlug(args.slug)}/contacts`)));
|
|
183
183
|
register("agent_os_consolidate_memory", "Trigger a memory consolidation pass: LLM reviews recent daily logs and distils key decisions, lessons, and facts into long-term MARM memory. Use during heartbeat maintenance instead of manually rewriting MEMORY.md. Rate-limited to 2 runs per agent per day.", { slug: z.string().optional() }, async (args) => jsonResult(await post(`/agent-os/${osSlug(args.slug)}/consolidate`, {})));
|
|
184
|
+
register("agent_os_create_project", "Create a new project in the agent OS. Use this to add a newly started project to tracking. Returns the created project with its DB id.", {
|
|
185
|
+
name: z.string().describe("Project name (required)."),
|
|
186
|
+
description: z.string().optional(),
|
|
187
|
+
status: z.enum(["active", "on_hold", "shipped", "archived"]).optional().default("active"),
|
|
188
|
+
currentFocus: z.string().optional().describe("What is being worked on right now."),
|
|
189
|
+
nextActions: z.array(z.string()).optional().describe("Ordered list of next steps."),
|
|
190
|
+
blockers: z.array(z.string()).optional(),
|
|
191
|
+
repoUrl: z.string().optional(),
|
|
192
|
+
deployUrl: z.string().optional(),
|
|
193
|
+
slug: z.string().optional(),
|
|
194
|
+
}, async (args) => {
|
|
195
|
+
const { slug, ...body } = args;
|
|
196
|
+
return jsonResult(await post(`/agent-os/${osSlug(slug)}/projects`, body));
|
|
197
|
+
});
|
|
198
|
+
register("agent_os_create_contact", "Add a new contact (or upsert by name) to the agent OS. Use when you meet someone new or want to record info about a person.", {
|
|
199
|
+
name: z.string().describe("Contact name (required)."),
|
|
200
|
+
relationship: z.string().optional().describe("e.g. owner, collaborator, client, stakeholder"),
|
|
201
|
+
context: z.string().optional().describe("Background on who they are and what they do."),
|
|
202
|
+
preferences: z.record(z.string(), z.unknown()).optional().describe("Communication preferences, timezone, style notes, etc."),
|
|
203
|
+
notes: z.string().optional(),
|
|
204
|
+
slug: z.string().optional(),
|
|
205
|
+
}, async (args) => {
|
|
206
|
+
const { slug, ...body } = args;
|
|
207
|
+
return jsonResult(await post(`/agent-os/${osSlug(slug)}/contacts`, body));
|
|
208
|
+
});
|
|
209
|
+
register("agent_os_update_contact", "Update an existing contact by their DB id. Use agent_os_get_contacts to get the id first.", {
|
|
210
|
+
contactId: z.string().describe("DB id of the contact to update (from agent_os_get_contacts)."),
|
|
211
|
+
name: z.string().optional(),
|
|
212
|
+
relationship: z.string().optional(),
|
|
213
|
+
context: z.string().optional(),
|
|
214
|
+
preferences: z.record(z.string(), z.unknown()).optional(),
|
|
215
|
+
notes: z.string().optional(),
|
|
216
|
+
slug: z.string().optional(),
|
|
217
|
+
}, async (args) => {
|
|
218
|
+
const { contactId, slug, ...body } = args;
|
|
219
|
+
return jsonResult(await patch(`/agent-os/${osSlug(slug)}/contacts/${contactId}`, body));
|
|
220
|
+
});
|
|
221
|
+
register("agent_os_update_memory", "Update an existing memory entry by its key/slug. Use to correct or replace a previously written memory. The key must match the slug used when the memory was written — if key was omitted on write, the auto-generated slug (note-<timestamp>) is returned in the write response.", {
|
|
222
|
+
key: z.string().describe("The slug/key of the memory to update (from the original agent_os_write_memory call)."),
|
|
223
|
+
content: z.string().describe("New content to replace the existing memory with."),
|
|
224
|
+
sourceId: z.string().optional().describe("Override the sourceId tag if needed."),
|
|
225
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
226
|
+
slug: z.string().optional().describe("AgentOS slug. Defaults to KYNVER_AGENT_OS_SLUG, then ghost."),
|
|
227
|
+
}, async (args) => {
|
|
228
|
+
const { key, slug, content, sourceId, metadata } = args;
|
|
229
|
+
const body = { content, slug: key };
|
|
230
|
+
if (sourceId)
|
|
231
|
+
body.sourceId = sourceId;
|
|
232
|
+
if (metadata)
|
|
233
|
+
body.metadata = metadata;
|
|
234
|
+
return jsonResult(await post(`/agent-os/${osSlug(slug)}/memory`, body));
|
|
235
|
+
});
|
|
184
236
|
return server;
|
|
185
237
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kynver-app/mcp-agent-os",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Kynver Agentic OS MCP server — slug-keyed agent identity, goals, projects, sessions, and long-term memory",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"kynver-mcp-agent-os": "dist/index.js"
|
|
8
8
|
},
|
|
9
|
-
"files": [
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
10
13
|
"scripts": {
|
|
11
14
|
"build": "node --max-old-space-size=8192 ../../node_modules/typescript/bin/tsc",
|
|
12
15
|
"dev": "node --max-old-space-size=8192 ../../node_modules/typescript/bin/tsc --watch",
|