umtri-mcp 1.0.2 → 1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "umtri-mcp",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server for Umtri — give your AI coding agent a persistent map of your project's structure, dependencies, and bugs.",
5
5
  "mcpName": "io.umtri/umtri",
6
6
  "keywords": [
package/server.js CHANGED
@@ -19,6 +19,7 @@ import { dirname, join } from 'node:path';
19
19
  import { createApiClient } from './core/api-client.js';
20
20
  import { registerTools } from './core/tools.js';
21
21
  import { registerResources } from './core/resources.js';
22
+ import { SERVER_INSTRUCTIONS } from './core/instructions.js';
22
23
 
23
24
  const __dirname = dirname(fileURLToPath(import.meta.url));
24
25
  const RESOURCES_DIR = join(__dirname, 'core', 'resources');
@@ -44,7 +45,7 @@ const api = createApiClient({
44
45
  const server = new McpServer({
45
46
  name: 'umtri-mcp',
46
47
  version: VERSION,
47
- });
48
+ }, { instructions: SERVER_INSTRUCTIONS });
48
49
 
49
50
  registerTools(server, { api });
50
51
  registerResources(server, { resourcesDir: RESOURCES_DIR });
@@ -1,33 +0,0 @@
1
- # Rule: Seasons Are Created by Humans Only
2
-
3
- **AI tools and automation MUST NOT create new seasons.**
4
-
5
- ## What a season is
6
-
7
- A `season` is a deliberate growth epoch declared by a human — for example
8
- "Q3 2026", "v2 redesign", "post-launch hardening". It is the unit by which
9
- project owners *consciously break time* in their ground.
10
-
11
- ## Why this rule exists
12
-
13
- Seasons carry intent. They mark moments where a person decides "this chapter
14
- is done, the next one begins." If an AI agent silently opens a new season
15
- when it can't decide which existing one to use, the metaphor collapses and
16
- the project's timeline becomes meaningless noise.
17
-
18
- ## What this means in practice
19
-
20
- - The MCP tool `create_season` is intentionally **not exposed**.
21
- - When creating a new node and unsure which season it belongs to:
22
- - Default to the most recent existing `season` whose state is `now`.
23
- - If no `now` season exists, ask the user which season to attach to.
24
- - Never call `POST /api/projects/:slug/seasons` from automation.
25
- - A user explicitly saying "create a new season called X" is the only valid
26
- trigger. Even then, prefer to confirm before acting.
27
-
28
- ## What is allowed
29
-
30
- - Reading seasons (`list_seasons`).
31
- - Attaching new nodes to existing seasons via `season` field.
32
- - Suggesting to the user that a new season *might* be useful — but waiting
33
- for them to create it.