@asif2bd/umami-mcp 0.1.2 → 0.1.4

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
@@ -4,6 +4,10 @@ A [Model Context Protocol](https://modelcontextprotocol.io) server for [Umami An
4
4
  Ask Claude, Cursor or any MCP client about your traffic — and let it create and manage websites — while your
5
5
  credentials stay on your own machine.
6
6
 
7
+ [![npm](https://img.shields.io/npm/v/@asif2bd/umami-mcp?color=cb3837&logo=npm)](https://www.npmjs.com/package/@asif2bd/umami-mcp)
8
+ [![npm downloads](https://img.shields.io/npm/dm/@asif2bd/umami-mcp?color=cb3837)](https://www.npmjs.com/package/@asif2bd/umami-mcp)
9
+ [![CI](https://github.com/Asif2BD/umami-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Asif2BD/umami-mcp/actions/workflows/ci.yml)
10
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-published-0E7C86)](https://registry.modelcontextprotocol.io/?q=umami)
7
11
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
8
12
  ![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen)
9
13
  ![Umami](https://img.shields.io/badge/Umami-v3-blue)
@@ -14,6 +18,14 @@ credentials stay on your own machine.
14
18
  "Add analytics for my new site blog.example.com and give me the tracking snippet."
15
19
  ```
16
20
 
21
+ <!-- Absolute URL so the image also renders on npmjs.com, which does not
22
+ resolve repository-relative paths. -->
23
+ ![umami-mcp answering questions about live traffic](https://raw.githubusercontent.com/Asif2BD/umami-mcp/main/demo/umami-mcp-demo.gif)
24
+
25
+ <sub>A throwaway site with generated traffic, on a live Umami 3.3.1 instance, read by a
26
+ view-only service account — so the counts are small and mean nothing, but every one of them was
27
+ really collected and really queried. Regenerate with `vhs demo/demo.tape`.</sub>
28
+
17
29
  ## Why this exists
18
30
 
19
31
  Umami has no official MCP server. Several community ones exist, and if you just want broad API
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Redirect URI validation, following RFC 8252 (OAuth 2.0 for Native Apps).
3
+ *
4
+ * The spec allows three shapes, and a server that accepts only the first two
5
+ * silently locks out every desktop MCP client:
6
+ *
7
+ * 1. https://… web clients
8
+ * 2. http://127.0.0.1:PORT/… loopback, for local CLIs
9
+ * 3. myapp://… private-use scheme, for native apps
10
+ *
11
+ * The third is how Cursor (cursor://anysphere.cursor-mcp/oauth/callback),
12
+ * VS Code and most desktop clients receive the callback; there is no listening
13
+ * web server to redirect to. Rejecting it is not a stricter security posture,
14
+ * it just makes the server unusable from a desktop.
15
+ *
16
+ * What actually protects a private-use scheme is PKCE, not the URI: another
17
+ * app on the machine can register the same scheme and intercept the code, but
18
+ * cannot exchange it without the verifier. RFC 8252 §8.1 requires PKCE for
19
+ * exactly this reason, and so does this server -- see requiresPkce below.
20
+ */
21
+ export type RedirectKind = 'https' | 'loopback' | 'private-use';
22
+ export declare class RedirectUriError extends Error {
23
+ }
24
+ export declare function classifyRedirectUri(raw: string): RedirectKind;
25
+ /**
26
+ * PKCE is mandatory for private-use schemes: the OS hands the callback to
27
+ * whichever app claimed the scheme, so the authorization code alone is not a
28
+ * secret. Loopback has the same weakness in principle and is treated the same.
29
+ */
30
+ export declare function requiresPkce(kind: RedirectKind): boolean;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Redirect URI validation, following RFC 8252 (OAuth 2.0 for Native Apps).
3
+ *
4
+ * The spec allows three shapes, and a server that accepts only the first two
5
+ * silently locks out every desktop MCP client:
6
+ *
7
+ * 1. https://… web clients
8
+ * 2. http://127.0.0.1:PORT/… loopback, for local CLIs
9
+ * 3. myapp://… private-use scheme, for native apps
10
+ *
11
+ * The third is how Cursor (cursor://anysphere.cursor-mcp/oauth/callback),
12
+ * VS Code and most desktop clients receive the callback; there is no listening
13
+ * web server to redirect to. Rejecting it is not a stricter security posture,
14
+ * it just makes the server unusable from a desktop.
15
+ *
16
+ * What actually protects a private-use scheme is PKCE, not the URI: another
17
+ * app on the machine can register the same scheme and intercept the code, but
18
+ * cannot exchange it without the verifier. RFC 8252 §8.1 requires PKCE for
19
+ * exactly this reason, and so does this server -- see requiresPkce below.
20
+ */
21
+ /** Schemes that are never a legitimate redirect target. */
22
+ const DANGEROUS = new Set(['javascript:', 'data:', 'blob:', 'file:', 'vbscript:', 'about:']);
23
+ const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '::1', '[::1]']);
24
+ export class RedirectUriError extends Error {
25
+ }
26
+ export function classifyRedirectUri(raw) {
27
+ let url;
28
+ try {
29
+ url = new URL(raw);
30
+ }
31
+ catch {
32
+ throw new RedirectUriError(`Not a URL: ${raw}`);
33
+ }
34
+ const scheme = url.protocol.toLowerCase();
35
+ if (DANGEROUS.has(scheme)) {
36
+ throw new RedirectUriError(`Refusing ${scheme} as a redirect target: ${raw}`);
37
+ }
38
+ if (scheme === 'https:')
39
+ return 'https';
40
+ if (scheme === 'http:') {
41
+ // Plaintext is only safe where the request never leaves the machine.
42
+ if (LOOPBACK_HOSTS.has(url.hostname.toLowerCase()))
43
+ return 'loopback';
44
+ throw new RedirectUriError(`redirect_uri must use https, a loopback address, or a private-use scheme such as myapp://. Got: ${raw}`);
45
+ }
46
+ // Anything else is a private-use scheme (cursor://, vscode://, com.example.app://).
47
+ // A bare "scheme:" with nothing after it cannot receive a callback.
48
+ if (!raw.slice(scheme.length).replace(/^\/+/, '')) {
49
+ throw new RedirectUriError(`Private-use redirect_uri needs a path or host: ${raw}`);
50
+ }
51
+ return 'private-use';
52
+ }
53
+ /**
54
+ * PKCE is mandatory for private-use schemes: the OS hands the callback to
55
+ * whichever app claimed the scheme, so the authorization code alone is not a
56
+ * secret. Loopback has the same weakness in principle and is treated the same.
57
+ */
58
+ export function requiresPkce(kind) {
59
+ return kind === 'private-use' || kind === 'loopback';
60
+ }
61
+ //# sourceMappingURL=redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect.js","sourceRoot":"","sources":["../../src/oauth/redirect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,2DAA2D;AAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7F,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;CAAG;AAE9C,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,gBAAgB,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE1C,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,gBAAgB,CAAC,YAAY,MAAM,0BAA0B,GAAG,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAExC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,qEAAqE;QACrE,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,UAAU,CAAC;QACtE,MAAM,IAAI,gBAAgB,CACxB,mGAAmG,GAAG,EAAE,CACzG,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,oEAAoE;IACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,OAAO,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,UAAU,CAAC;AACvD,CAAC"}
@@ -4,6 +4,7 @@ import { consentPage, errorPage } from './consent.js';
4
4
  import { MemoryStore } from './store.js';
5
5
  import { seal, unseal, verifyPkce, safeEqual, SealError } from './seal.js';
6
6
  import { assertPublicTarget, BlockedTargetError } from './ssrf.js';
7
+ import { classifyRedirectUri, requiresPkce, RedirectUriError } from './redirect.js';
7
8
  const MODES = ['read', 'write', 'admin'];
8
9
  function json(res, status, body) {
9
10
  const text = JSON.stringify(body);
@@ -135,21 +136,13 @@ export class OAuthProvider {
135
136
  return;
136
137
  }
137
138
  for (const u of uris) {
138
- let parsed;
139
139
  try {
140
- parsed = new URL(u);
140
+ classifyRedirectUri(u);
141
141
  }
142
- catch {
143
- json(res, 400, { error: 'invalid_redirect_uri', error_description: `Not a URL: ${u}` });
144
- return;
145
- }
146
- // Loopback may be plaintext; anything else must be HTTPS, or the code
147
- // can be intercepted in transit.
148
- const loopback = ['localhost', '127.0.0.1', '::1'].includes(parsed.hostname);
149
- if (parsed.protocol !== 'https:' && !loopback) {
142
+ catch (err) {
150
143
  json(res, 400, {
151
144
  error: 'invalid_redirect_uri',
152
- error_description: `redirect_uri must use https (or be loopback): ${u}`,
145
+ error_description: err instanceof RedirectUriError ? err.message : `Invalid redirect_uri: ${u}`,
153
146
  });
154
147
  return;
155
148
  }
@@ -174,10 +167,25 @@ export class OAuthProvider {
174
167
  html(res, 400, errorPage('Invalid request', 'client_id and redirect_uri are required.'));
175
168
  return;
176
169
  }
170
+ let kind;
171
+ try {
172
+ kind = classifyRedirectUri(redirectUri);
173
+ }
174
+ catch (err) {
175
+ html(res, 400, errorPage('Invalid redirect URI', err instanceof RedirectUriError ? err.message : 'Unusable redirect_uri.'));
176
+ return;
177
+ }
177
178
  if (q.get('code_challenge') && method !== 'S256') {
178
179
  html(res, 400, errorPage('Unsupported PKCE method', 'Only S256 is accepted.'));
179
180
  return;
180
181
  }
182
+ // A private-use or loopback callback is delivered by the OS to whichever
183
+ // app claimed it, so the code alone is not a secret. RFC 8252 requires
184
+ // PKCE here, and without it there is nothing binding the code to this client.
185
+ if (requiresPkce(kind) && !q.get('code_challenge')) {
186
+ html(res, 400, errorPage('PKCE required', 'This redirect type requires PKCE. Send code_challenge with code_challenge_method=S256.'));
187
+ return;
188
+ }
181
189
  const client = this.store.getClient(clientId);
182
190
  // An unregistered client_id is allowed (operators may configure a static
183
191
  // one), but a registered client's redirect_uri must match exactly.
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/oauth/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/oauth/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@asif2bd/umami-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
+ "mcpName": "io.github.Asif2BD/umami-mcp",
4
5
  "description": "Model Context Protocol server for Umami Analytics. Self-hosted, credentials never leave your environment.",
5
6
  "type": "module",
6
7
  "bin": {