@ign8t/mcp 0.3.0 → 0.3.1
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 +4 -1
- package/dist/index.js +7 -9
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -212,7 +212,10 @@ The write tools (`create_task`, `update_task_status`, `accept_recommendations`,
|
|
|
212
212
|
|
|
213
213
|
### Updating the implementation context
|
|
214
214
|
|
|
215
|
-
`update_context` lets the project owner's AI change what ign8t knows about the implementation: the tech stack
|
|
215
|
+
`update_context` lets the project owner's AI change what ign8t knows about the implementation: the tech stack and the project constraints. Vision, features, users and success criteria are not writable through it.
|
|
216
|
+
|
|
217
|
+
- Any key already in the project's tech stack can be changed or removed, spelled exactly as stored (`backend` and `Backend` are different keys). A key stored as text takes a new text value; a key stored as a list takes items to add or remove (added values are trimmed, removed values must match the stored text exactly). Constraints work like a list.
|
|
218
|
+
- Besides the stored keys, only `platform`, `framework`, `database` and `ai_models` can be added, as text or as a list. Any other new key is rejected, so the stack doesn't split into near-duplicate keys.
|
|
216
219
|
|
|
217
220
|
- The AI reads the project with `get_project` first, shows you the exact change, and applies it only after you agree. The change is saved immediately and costs no Sparks.
|
|
218
221
|
- All previously generated documents (BRD/PRD/TRD, delivery brief, master spec, task specs) may be marked stale. They are not regenerated automatically, and regenerating them costs Sparks.
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
5
|
import { buildWorkspaceSnapshot } from "./workspace-snapshot.js";
|
|
6
|
-
const VERSION = "0.3.
|
|
6
|
+
const VERSION = "0.3.1";
|
|
7
7
|
// Parse command line arguments
|
|
8
8
|
function parseArgs() {
|
|
9
9
|
const args = process.argv.slice(2);
|
|
@@ -585,7 +585,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
585
585
|
},
|
|
586
586
|
{
|
|
587
587
|
name: "update_context",
|
|
588
|
-
description: "Change the project's implementation context: tech_stack
|
|
588
|
+
description: "Change the project's implementation context: tech_stack keys and constraints. Use the tech_stack key names you see in get_project's context.tech_stack, spelled exactly as stored (\"backend\" and \"Backend\" are different keys); besides those, only platform, framework, database and ai_models can be added. Every key follows what is stored: a key stored as text takes a new text value; a key stored as a list takes add/remove items (add values are trimmed; remove values must match the stored text exactly), as do constraints; a key not stored yet takes either. List keys in tech_stack.unset to remove them. Writes immediately and costs zero Sparks. Call get_project first and pass its context.context_version as expected_context_version. Before calling, show the user the exact change and tell them that all previously generated documents (BRD/PRD/TRD, delivery brief, master spec, task specs) may be marked stale, and that regenerating them costs Sparks; set confirmed_with_user to true only after the user agreed. A CONTEXT_CHANGED error means the context changed since you read it: read it again, reconcile, and ask the user again. Vision, features, users and success criteria are not writable here: use add_user_persona, update_success_criteria or add_feature_request.",
|
|
589
589
|
inputSchema: {
|
|
590
590
|
type: "object",
|
|
591
591
|
properties: {
|
|
@@ -616,17 +616,15 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
616
616
|
tech_stack: {
|
|
617
617
|
type: "object",
|
|
618
618
|
properties: {
|
|
619
|
-
platform: { type: "string", minLength: 1, maxLength: 200 },
|
|
620
|
-
framework: { type: "string", minLength: 1, maxLength: 200 },
|
|
621
619
|
unset: {
|
|
622
620
|
type: "array",
|
|
623
|
-
items: { type: "string",
|
|
624
|
-
description: "Keys to
|
|
621
|
+
items: { type: "string", minLength: 1, maxLength: 60 },
|
|
622
|
+
description: "Keys to remove; a key cannot be both changed and unset",
|
|
625
623
|
},
|
|
626
|
-
database: listOps(200),
|
|
627
|
-
ai_models: listOps(200),
|
|
628
624
|
},
|
|
629
|
-
additionalProperties:
|
|
625
|
+
additionalProperties: {
|
|
626
|
+
description: "A key already stored in tech_stack, or one of the canonical keys platform, framework, database, ai_models (at most 60 characters): a string of 1-200 characters if it is stored as text, {add, remove} arrays of 1-200 character strings if it is stored as a list, either if it is not stored yet. Other new keys are rejected with UNKNOWN_TECH_STACK_KEY.",
|
|
627
|
+
},
|
|
630
628
|
},
|
|
631
629
|
constraints: listOps(500),
|
|
632
630
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ign8t/mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "MCP server for ign8t project management - AI IDE integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"mcp": {
|
|
39
39
|
"name": "ign8t-mcp",
|
|
40
40
|
"description": "MCP server for ign8t project management - AI IDE integration",
|
|
41
|
-
"version": "0.3.
|
|
41
|
+
"version": "0.3.1"
|
|
42
42
|
},
|
|
43
43
|
"author": "nocodecat",
|
|
44
44
|
"license": "MIT",
|