@m00nsolutions/mcp-server 1.0.0 → 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/README.md CHANGED
@@ -6,9 +6,14 @@ MCP (Model Context Protocol) server for M00n Report. Enables AI assistants like
6
6
 
7
7
  - 📊 **Query test trends** - Pass rates, failing tests, flaky tests over time
8
8
  - 📈 **Get launch statistics** - Test run summaries with filtering
9
- - 📁 **List projects** - Browse accessible projects
9
+ - 📁 **Manage test cases** - Create, update, delete, and organize test cases
10
+ - 🗂️ **Organize with folders** - Full folder/suite hierarchy management
11
+ - 📋 **Test collections** - Manage manual test runs and executions
12
+ - 🚀 **Release management** - Track releases with linked test runs
10
13
  - 🔒 **Secure** - Uses your MCP key with your permissions
11
14
  - 🏢 **Self-hosted ready** - Works with self-hosted M00n Report instances
15
+ - 🏷️ **Tool annotations** - MCP 2025 spec compliant with safety hints
16
+ - 📖 **Resources** - Read-only data access for summaries and reports (NEW!)
12
17
 
13
18
  ## Quick Start
14
19
 
@@ -30,7 +35,7 @@ Add to your Cursor MCP configuration (`~/.cursor/mcp.json` or workspace `.cursor
30
35
  "command": "npx",
31
36
  "args": ["-y", "@m00nsolutions/mcp-server"],
32
37
  "env": {
33
- "M00N_API_URL": "https://app.m00nreport.com",
38
+ "M00N_API_URL": "https://app.m00n.report",
34
39
  "M00N_API_KEY": "m00n_mcp_your_key_here"
35
40
  }
36
41
  }
@@ -49,7 +54,7 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
49
54
  "command": "npx",
50
55
  "args": ["-y", "@m00nsolutions/mcp-server"],
51
56
  "env": {
52
- "M00N_API_URL": "https://app.m00nreport.com",
57
+ "M00N_API_URL": "https://app.m00n.report",
53
58
  "M00N_API_KEY": "m00n_mcp_your_key_here"
54
59
  }
55
60
  }
@@ -57,47 +62,122 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
57
62
  }
58
63
  ```
59
64
 
60
- ## Available Tools
61
-
62
- ### `list_projects`
63
-
64
- List all projects accessible to your MCP key.
65
-
66
- **Example prompt:** "What projects do I have access to in M00n Report?"
67
-
68
- ### `get_launches_trends`
69
-
70
- Get comprehensive trend data for a project including pass rates, failing tests, flaky tests, and duration trends.
71
-
72
- **Parameters:**
73
- - `projectId` (required) - Project UUID
74
- - `days` (optional) - Lookback period, 1-365 (default: 30)
75
- - `tags` (optional) - Filter runs by tags
76
- - `topN` (optional) - Limit for top-N lists (default: 10)
77
- - `include` (optional) - Which trends to include: `passRate`, `duration`, `failing`, `flaky`, `slowest`, `testsByTags`
78
-
79
- **Example prompt:** "Show me the test pass rate trends for project abc-123 over the last 14 days"
80
-
81
- ### `get_launches_statistics`
82
-
83
- Get a list of test runs with aggregated statistics for a project.
84
-
85
- **Parameters:**
86
- - `projectId` (required) - Project UUID
87
- - `days` (optional) - Lookback period, 1-365 (default: 30)
88
- - `tags` (optional) - Filter by tags
89
- - `statuses` (optional) - Filter by status: `passed`, `failed`, `running`, `interrupted`
90
- - `search` (optional) - Search in launch title/ID/tags
91
- - `limit` (optional) - Number of launches to return (default: 20)
92
- - `offset` (optional) - Pagination offset
65
+ ## Available Resources (8)
66
+
67
+ Resources provide **read-only data** that AI clients can access directly without tool calls. They're perfect for summaries, reports, and structured data.
68
+
69
+ | Resource URI | Name | Format | Description |
70
+ |--------------|------|--------|-------------|
71
+ | `m00n://projects` | All Projects | JSON | List of all accessible projects with counts |
72
+ | `m00n://projects/{projectId}/summary` | Project Health | JSON | Pass rates, flaky count, latest run info |
73
+ | `m00n://projects/{projectId}/flaky-tests` | Flaky Tests | Markdown | Flaky tests report with patterns |
74
+ | `m00n://projects/{projectId}/failing-tests` | Failing Tests | Markdown | Currently failing tests from latest run |
75
+ | `m00n://projects/{projectId}/folder-tree` | Folder Tree | JSON | Hierarchical folder/suite structure |
76
+ | `m00n://launches/{launchId}/report` | Launch Report | Markdown | Full test run report with failures |
77
+ | `m00n://cases/{caseId}/content` | Test Case | Markdown | Test case with steps and metadata |
78
+ | `m00n://releases/{releaseId}/summary` | Release Summary | JSON | Release health with test run stats |
79
+
80
+ **Example prompts using resources:**
81
+ - "Show me the project health summary"
82
+ - "What's in the flaky tests report for project X?"
83
+ - "Get the full launch report for the latest run"
84
+ - "Show me the test case TC-001 content"
85
+
86
+ ---
87
+
88
+ ## Available Tools (40+)
89
+
90
+ All tools include **MCP 2025 annotations** to help AI clients understand tool safety characteristics.
91
+
92
+ ### Analytics Tools (Read-Only)
93
+ | Tool | Description |
94
+ |------|-------------|
95
+ | `list_projects` | List all accessible projects |
96
+ | `get_launches_trends` | Get pass rate, flaky, failing test trends |
97
+ | `get_launches_statistics` | Get test run summaries with filtering |
98
+ | `get_launch_tests` | Get all tests from a specific run |
99
+ | `get_test_history` | Get execution history for a test |
100
+ | `search_tests` | Search tests by title or file path |
101
+
102
+ ### Test Case Management
103
+ | Tool | Annotations | Description |
104
+ |------|-------------|-------------|
105
+ | `list_test_cases` | 🔒 read-only | List test cases with filtering |
106
+ | `get_test_case` | 🔒 read-only | Get full test case details |
107
+ | `create_test_case` | ✏️ create | Create a new test case |
108
+ | `update_test_case` | ✏️ update | Update an existing test case |
109
+ | `delete_test_case` | ⚠️ destructive | Archive a test case |
110
+ | `move_test_case` | ✏️ update | Move to different folder |
111
+ | `link_autotest_to_case` | 🔗 link | Link automated test to case |
112
+
113
+ ### Folder Management
114
+ | Tool | Annotations | Description |
115
+ |------|-------------|-------------|
116
+ | `list_folders` | 🔒 read-only | List all folders/suites |
117
+ | `get_folder` | 🔒 read-only | Get folder details |
118
+ | `create_folder` | ✏️ create | Create folder or suite |
119
+ | `update_folder` | ✏️ update | Rename or move folder |
120
+ | `delete_folder` | ⚠️ destructive | Archive folder and contents |
121
+ | `get_folder_statistics` | 🔒 read-only | Get folder statistics |
122
+
123
+ ### Test Collections (Manual Runs)
124
+ | Tool | Annotations | Description |
125
+ |------|-------------|-------------|
126
+ | `list_test_collections` | 🔒 read-only | List manual test runs |
127
+ | `get_test_collection` | 🔒 read-only | Get collection with execution status |
128
+ | `create_test_collection` | ✏️ create | Create a manual test run |
129
+ | `update_test_collection` | ✏️ update | Update collection metadata |
130
+ | `add_cases_to_collection` | 🔗 link | Add cases to collection |
131
+ | `remove_cases_from_collection` | ⚠️ remove | Remove cases from collection |
132
+ | `delete_test_collection` | ⚠️ destructive | Archive collection |
133
+
134
+ ### Release Management
135
+ | Tool | Annotations | Description |
136
+ |------|-------------|-------------|
137
+ | `list_releases` | 🔒 read-only | List releases with stats |
138
+ | `get_release` | 🔒 read-only | Get release with test runs |
139
+ | `create_release` | ✏️ create | Create a new release |
140
+ | `update_release` | ✏️ update | Update release metadata |
141
+ | `delete_release` | ⚠️ destructive | Archive release |
142
+ | `link_runs_to_release` | 🔗 link | Link manual runs to release |
143
+ | `link_launches_to_release` | 🔗 link | Link automated runs to release |
144
+ | `unlink_run_from_release` | ⚠️ remove | Remove run from release |
145
+ | `unlink_launch_from_release` | ⚠️ remove | Remove launch from release |
146
+
147
+ ## Tool Annotations
148
+
149
+ All tools include MCP 2025 spec-compliant annotations that help AI assistants understand tool behavior:
150
+
151
+ | Annotation | Meaning |
152
+ |------------|---------|
153
+ | `readOnlyHint: true` | 🔒 Tool only reads data, no side effects |
154
+ | `destructiveHint: true` | ⚠️ Tool may delete or archive data |
155
+ | `idempotentHint: true` | 🔄 Safe to call repeatedly with same args |
156
+ | `openWorldHint: false` | 📦 Tool operates only on known entities |
157
+
158
+ **Example annotation:**
159
+ ```json
160
+ {
161
+ "name": "delete_test_case",
162
+ "annotations": {
163
+ "readOnlyHint": false,
164
+ "destructiveHint": true,
165
+ "idempotentHint": true,
166
+ "openWorldHint": false
167
+ }
168
+ }
169
+ ```
93
170
 
94
- **Example prompt:** "What were the last 10 failed test runs in project abc-123?"
171
+ AI assistants use these hints to:
172
+ - Warn users before executing destructive operations
173
+ - Batch read-only operations without confirmation
174
+ - Safely retry idempotent operations on failure
95
175
 
96
176
  ## Environment Variables
97
177
 
98
178
  | Variable | Required | Default | Description |
99
179
  |----------|----------|---------|-------------|
100
- | `M00N_API_URL` | ✅ | - | M00n Report API URL (e.g., `https://app.m00nreport.com`) |
180
+ | `M00N_API_URL` | ✅ | - | M00n Report API URL (e.g., `https://app.m00n.report`) |
101
181
  | `M00N_API_KEY` | ✅ | - | MCP key from Settings → MCP Keys |
102
182
  | `M00N_INSECURE_SSL` | | `false` | Skip SSL verification (for self-signed certs) |
103
183
  | `M00N_DEBUG` | | `false` | Enable verbose logging |
@@ -227,9 +307,9 @@ Once configured, try these prompts in Claude or Cursor:
227
307
 
228
308
  ## Support
229
309
 
230
- - **Documentation:** https://m00nreport.com/docs
310
+ - **Documentation:** https://m00n.report/docs
231
311
  - **Issues:** https://github.com/m00nsolutions/m00nreport/issues
232
- - **Email:** support@m00nreport.com
312
+ - **Email:** support@m00n.report
233
313
 
234
314
  ## License
235
315
 
package/bin/m00n-mcp.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // Enables AI assistants (Claude, Cursor) to query test analytics
5
5
  //
6
6
  // Usage:
7
- // M00N_API_URL=https://app.m00nreport.com M00N_API_KEY=your-key npx @m00nsolutions/mcp-server
7
+ // M00N_API_URL=https://app.m00n.report M00N_API_KEY=your-key npx @m00nsolutions/mcp-server
8
8
  //
9
9
  // For Cursor/Claude Desktop config, see README.md
10
10
 
@@ -1,4 +1,14 @@
1
1
  import { Config } from './config.js';
2
+ export interface ToolAnnotations {
3
+ /** When true, the tool does not modify any state */
4
+ readOnlyHint?: boolean;
5
+ /** When true, the tool may perform destructive updates */
6
+ destructiveHint?: boolean;
7
+ /** When true, calling repeatedly with same args has no additional effect */
8
+ idempotentHint?: boolean;
9
+ /** When true, tool interacts with external entities beyond its direct args */
10
+ openWorldHint?: boolean;
11
+ }
2
12
  export interface Tool {
3
13
  name: string;
4
14
  description: string;
@@ -7,6 +17,7 @@ export interface Tool {
7
17
  properties: Record<string, unknown>;
8
18
  required?: string[];
9
19
  };
20
+ annotations?: ToolAnnotations;
10
21
  }
11
22
  export interface HealthResponse {
12
23
  status: string;
@@ -16,6 +27,17 @@ export interface HealthResponse {
16
27
  export interface ToolCallResult {
17
28
  [key: string]: any;
18
29
  }
30
+ export interface ResourceTemplate {
31
+ uriTemplate: string;
32
+ name: string;
33
+ description: string;
34
+ mimeType: string;
35
+ }
36
+ export interface ResourceContent {
37
+ uri: string;
38
+ mimeType: string;
39
+ text: string;
40
+ }
19
41
  export interface ApiError {
20
42
  error: string;
21
43
  message: string;
@@ -40,6 +62,14 @@ export declare class M00nApiClient {
40
62
  * Execute a tool with given arguments
41
63
  */
42
64
  callTool(name: string, args: Record<string, unknown>): Promise<ToolCallResult>;
65
+ /**
66
+ * Fetch available resource templates from API
67
+ */
68
+ fetchResourceTemplates(): Promise<ResourceTemplate[]>;
69
+ /**
70
+ * Read a resource by URI
71
+ */
72
+ readResource(uri: string): Promise<ResourceContent[]>;
43
73
  /**
44
74
  * Handle API errors with meaningful messages
45
75
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAS,MAAM,aAAa,CAAC;AAI5C,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,cAAc;IAE7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAGD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAoB1B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAU5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAUnC;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAapF;;OAEG;IACH,OAAO,CAAC,WAAW;CA2EpB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAS,MAAM,aAAa,CAAC;AAI5C,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,cAAc;IAE7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAoB1B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAU5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAUnC;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAapF;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAU3D;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAY3D;;OAEG;IACH,OAAO,CAAC,WAAW;CA2EpB"}
@@ -75,6 +75,34 @@ export class M00nApiClient {
75
75
  throw this.handleError(error, `tool call: ${name}`);
76
76
  }
77
77
  }
78
+ /**
79
+ * Fetch available resource templates from API
80
+ */
81
+ async fetchResourceTemplates() {
82
+ try {
83
+ debug(`Fetching resources from ${this.config.apiUrl}/api/mcp/resources`, this.config);
84
+ const response = await this.client.get('/api/mcp/resources');
85
+ return response.data.resourceTemplates;
86
+ }
87
+ catch (error) {
88
+ throw this.handleError(error, 'fetch resources');
89
+ }
90
+ }
91
+ /**
92
+ * Read a resource by URI
93
+ */
94
+ async readResource(uri) {
95
+ try {
96
+ debug(`Reading resource: ${uri}`, this.config);
97
+ const response = await this.client.get('/api/mcp/resources/read', {
98
+ params: { uri }
99
+ });
100
+ return response.data.contents;
101
+ }
102
+ catch (error) {
103
+ throw this.handleError(error, `read resource: ${uri}`);
104
+ }
105
+ }
78
106
  /**
79
107
  * Handle API errors with meaningful messages
80
108
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -26,7 +26,7 @@ async function main() {
26
26
  '║ Set the following environment variables: ║\n' +
27
27
  '║ ║\n' +
28
28
  '║ M00N_API_URL - Your M00n Report URL ║\n' +
29
- '║ (e.g., https://app.m00nreport.com) ║\n' +
29
+ '║ (e.g., https://app.m00n.report) ║\n' +
30
30
  '║ ║\n' +
31
31
  '║ M00N_API_KEY - MCP key from Settings → MCP Keys ║\n' +
32
32
  '║ (starts with m00n_mcp_) ║\n' +
@@ -39,7 +39,7 @@ async function main() {
39
39
  '║ "command": "npx", ║\n' +
40
40
  '║ "args": ["@m00nsolutions/mcp-server"], ║\n' +
41
41
  '║ "env": { ║\n' +
42
- '║ "M00N_API_URL": "https://app.m00nreport.com", ║\n' +
42
+ '║ "M00N_API_URL": "https://app.m00n.report", ║\n' +
43
43
  '║ "M00N_API_KEY": "m00n_mcp_..." ║\n' +
44
44
  '║ } ║\n' +
45
45
  '║ } ║\n' +
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAC1D,2EAA2E;AAE3E,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,mBAAmB;QACnB,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QAE/B,0CAA0C;QAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,IAAI;gBAChB,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAC1D,2EAA2E;AAE3E,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,mBAAmB;QACnB,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QAE/B,0CAA0C;QAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,IAAI;gBAChB,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE;gBACrE,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,IAAI,EAAE,CAAC"}
package/dist/config.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // config.ts - Environment variable validation and configuration
2
2
  //
3
3
  // Required:
4
- // M00N_API_URL - M00n Report API URL (e.g., https://app.m00nreport.com)
4
+ // M00N_API_URL - M00n Report API URL (e.g., https://app.m00n.report)
5
5
  // M00N_API_KEY - MCP API key from Settings → MCP Keys
6
6
  //
7
7
  // Optional:
@@ -45,7 +45,7 @@ export function loadConfig() {
45
45
  ' M00N_API_URL - Your M00n Report API URL\n' +
46
46
  ' M00N_API_KEY - MCP key from Settings → MCP Keys\n\n' +
47
47
  'Example:\n' +
48
- ' M00N_API_URL=https://app.m00nreport.com M00N_API_KEY=m00n_mcp_xxx...');
48
+ ' M00N_API_URL=https://app.m00n.report M00N_API_KEY=m00n_mcp_xxx...');
49
49
  }
50
50
  return result.data;
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AAGjD;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HhE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AAGjD;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8KhE"}
package/dist/server.js CHANGED
@@ -1,12 +1,12 @@
1
- // server.ts - MCP Server setup and tool registration
1
+ // server.ts - MCP Server setup and tool/resource registration
2
2
  //
3
3
  // This module:
4
- // 1. Fetches available tools from M00n Report API
4
+ // 1. Fetches available tools and resources from M00n Report API
5
5
  // 2. Registers them with the MCP SDK
6
- // 3. Handles tool invocations by proxying to the API
6
+ // 3. Handles tool invocations and resource reads by proxying to the API
7
7
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
8
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
9
- import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
9
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, ErrorCode, McpError, } from '@modelcontextprotocol/sdk/types.js';
10
10
  import { M00nApiClient } from './api-client.js';
11
11
  import { log, debug } from './config.js';
12
12
  import { VERSION, PACKAGE_NAME } from './version.js';
@@ -42,13 +42,25 @@ export async function createServer(config) {
42
42
  if (tools.length === 0) {
43
43
  throw new Error('No tools available from M00n Report API. Please check your API key permissions.');
44
44
  }
45
- // Step 3: Create MCP server
45
+ // Step 2b: Fetch available resources
46
+ log('Fetching available resources...', config);
47
+ let resourceTemplates = [];
48
+ try {
49
+ resourceTemplates = await apiClient.fetchResourceTemplates();
50
+ log(`Loaded ${resourceTemplates.length} resource templates`, config);
51
+ }
52
+ catch (error) {
53
+ // Resources are optional - don't fail if not available
54
+ log('Resources not available (API may not support them yet)', config);
55
+ }
56
+ // Step 3: Create MCP server with tools and resources capabilities
46
57
  const server = new Server({
47
58
  name: PACKAGE_NAME,
48
59
  version: VERSION,
49
60
  }, {
50
61
  capabilities: {
51
62
  tools: {},
63
+ resources: resourceTemplates.length > 0 ? {} : undefined,
52
64
  },
53
65
  });
54
66
  // Register list_tools handler
@@ -59,6 +71,8 @@ export async function createServer(config) {
59
71
  name: tool.name,
60
72
  description: tool.description,
61
73
  inputSchema: tool.inputSchema,
74
+ // Include annotations if present (MCP 2025 spec)
75
+ ...(tool.annotations && { annotations: tool.annotations }),
62
76
  })),
63
77
  };
64
78
  });
@@ -98,6 +112,40 @@ export async function createServer(config) {
98
112
  };
99
113
  }
100
114
  });
115
+ // Register list_resource_templates handler (if resources available)
116
+ if (resourceTemplates.length > 0) {
117
+ server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => {
118
+ debug('Handling list_resource_templates request', config);
119
+ return {
120
+ resourceTemplates: resourceTemplates.map((rt) => ({
121
+ uriTemplate: rt.uriTemplate,
122
+ name: rt.name,
123
+ description: rt.description,
124
+ mimeType: rt.mimeType,
125
+ })),
126
+ };
127
+ });
128
+ // Register read_resource handler
129
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
130
+ const { uri } = request.params;
131
+ debug(`Handling read_resource request: ${uri}`, config);
132
+ try {
133
+ const contents = await apiClient.readResource(uri);
134
+ return {
135
+ contents: contents.map((c) => ({
136
+ uri: c.uri,
137
+ mimeType: c.mimeType,
138
+ text: c.text,
139
+ })),
140
+ };
141
+ }
142
+ catch (error) {
143
+ const message = error instanceof Error ? error.message : String(error);
144
+ throw new McpError(ErrorCode.InternalError, `Failed to read resource: ${message}`);
145
+ }
146
+ });
147
+ log(`Resources enabled: ${resourceTemplates.map((r) => r.name).join(', ')}`, config);
148
+ }
101
149
  // Step 4: Connect via stdio transport
102
150
  const transport = new StdioServerTransport();
103
151
  // Handle server errors
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@m00nsolutions/mcp-server",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server for M00n Report - enables AI assistants like Claude and Cursor to query test analytics",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
7
7
  "types": "dist/cli.d.ts",
8
8
  "bin": {
9
- "m00n-mcp": "./bin/m00n-mcp.js"
9
+ "m00n-mcp": "bin/m00n-mcp.js"
10
10
  },
11
11
  "files": [
12
12
  "dist",
@@ -37,10 +37,10 @@
37
37
  "license": "MIT",
38
38
  "repository": {
39
39
  "type": "git",
40
- "url": "https://github.com/m00nsolutions/m00nreport.git",
40
+ "url": "git+https://github.com/m00nsolutions/m00nreport.git",
41
41
  "directory": "packages/m00n-mcp-server"
42
42
  },
43
- "homepage": "https://m00nreport.com",
43
+ "homepage": "https://m00n.report",
44
44
  "bugs": {
45
45
  "url": "https://github.com/m00nsolutions/m00nreport/issues"
46
46
  },