xs-shlink-mcp 0.1.0 → 0.1.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/CHANGELOG.md CHANGED
@@ -1,11 +1,18 @@
1
- # XS Shlink MCP Changelog
2
-
1
+ # XS Shlink MCP Changelog
2
+
3
3
  All notable changes to this project will be documented here.
4
4
 
5
- ## 0.1.0 - Unreleased
5
+ ## 0.1.1 - 2026-07-31
6
+
7
+ - Fix QR-code URLs to pass `size` as a query parameter instead of a path segment.
8
+ - Add margin, format, error-correction, block rounding, and color options to
9
+ `get_qr_code_url`.
10
+ - Preserve base paths and multi-segment custom slugs in generated QR-code URLs.
6
11
 
7
- - Add a local `stdio` MCP server for Shlink.
8
- - Add 23 tools covering short URLs, analytics, visits, tags, domains, redirect
9
- rules, QR-code URLs, health, and Mercure information.
10
- - Guard destructive tools with server opt-in and per-call confirmation.
11
- - Add mocked API tests and an end-to-end MCP discovery test.
12
+ ## 0.1.0 - 2026-07-30
13
+
14
+ - Add a local `stdio` MCP server for Shlink.
15
+ - Add 23 tools covering short URLs, analytics, visits, tags, domains, redirect
16
+ rules, QR-code URLs, health, and Mercure information.
17
+ - Guard destructive tools with server opt-in and per-call confirmation.
18
+ - Add mocked API tests and an end-to-end MCP discovery test.
package/LICENSE CHANGED
@@ -1,17 +1,17 @@
1
- MIT License
2
-
3
- Copyright (c) 2026
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1
+ MIT License
2
+
3
+ Copyright (c) 2026
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
package/README.md CHANGED
@@ -1,159 +1,181 @@
1
- # XS Shlink MCP
2
-
3
- An MCP server for managing and analyzing a
4
- [Shlink](https://shlink.io/) URL-shortener instance.
5
-
6
- It runs locally over `stdio`, keeps the Shlink API key on the machine running
7
- the MCP client, and does not require Docker.
8
-
9
- ## Features
10
-
11
- - 23 tools for short URLs, visits, tags, domains, redirect rules, QR codes, and
12
- Mercure integration information
13
- - Typed and validated tool inputs
14
- - Structured Shlink API errors with request IDs
15
- - Bounded pagination and request timeouts
16
- - Destructive operations disabled by default
17
- - Windows, macOS, and Linux support through Node.js
18
-
19
- ## Requirements
20
-
21
- - Node.js 20 or newer
22
- - A reachable Shlink instance
23
- - A Shlink API key
24
-
25
- ## Run from a local checkout
26
-
27
- ```shell
28
- npm install
29
- npm run build
30
- ```
31
-
32
- Add the server to an MCP client:
33
-
34
- ```json
35
- {
36
- "mcpServers": {
37
- "shlink": {
38
- "command": "node",
39
- "args": ["/absolute/path/to/shlink-mcp/dist/index.js"],
40
- "env": {
41
- "SHLINK_BASE_URL": "https://s.example.com",
42
- "SHLINK_API_KEY": "replace-me",
43
- "SHLINK_API_VERSION": "3",
44
- "SHLINK_ALLOW_DESTRUCTIVE": "false"
45
- }
46
- }
47
- }
48
- }
49
- ```
50
-
51
- On Windows, use a fully escaped absolute path:
52
-
53
- ```json
54
- "args": ["C:\\path\\to\\shlink-mcp\\dist\\index.js"]
55
- ```
56
-
57
- ## Run the published package
58
-
59
- After the package is published to npm, an MCP client can launch it with:
60
-
61
- ```json
62
- {
63
- "mcpServers": {
64
- "shlink": {
65
- "command": "npx",
66
- "args": ["-y", "xs-shlink-mcp"],
67
- "env": {
68
- "SHLINK_BASE_URL": "https://s.example.com",
69
- "SHLINK_API_KEY": "replace-me"
70
- }
71
- }
72
- }
73
- }
74
- ```
75
-
76
- ## Configuration
77
-
78
- | Variable | Required | Default | Description |
79
- |---|---:|---:|---|
80
- | `SHLINK_BASE_URL` | Yes | — | Shlink origin without `/rest`, such as `https://s.example.com` |
81
- | `SHLINK_API_KEY` | Yes | — | Shlink API key |
82
- | `SHLINK_API_VERSION` | No | `3` | REST API major version |
83
- | `SHLINK_TIMEOUT_MS` | No | `10000` | Per-request timeout in milliseconds |
84
- | `SHLINK_ALLOW_DESTRUCTIVE` | No | `false` | Enables deletion tools when set to `true` |
85
-
86
- Never commit an API key. Tool results and errors do not include it.
87
-
88
- ## Tools
89
-
90
- ### Short URLs
91
-
92
- - `list_short_urls`
93
- - `get_short_url`
94
- - `create_short_url`
95
- - `edit_short_url`
96
- - `delete_short_url`
1
+ # XS Shlink MCP
2
+
3
+ [![npm version](https://img.shields.io/npm/v/xs-shlink-mcp.svg)](https://www.npmjs.com/package/xs-shlink-mcp)
4
+ [![CI](https://github.com/AlexGreenUK/XS-Shlink-MCP/actions/workflows/ci.yml/badge.svg)](https://github.com/AlexGreenUK/XS-Shlink-MCP/actions/workflows/ci.yml)
5
+ [![Node.js](https://img.shields.io/node/v/xs-shlink-mcp.svg)](https://www.npmjs.com/package/xs-shlink-mcp)
6
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
7
+
8
+ A local [Model Context Protocol](https://modelcontextprotocol.io/) server for
9
+ managing and analyzing a [Shlink](https://shlink.io/) URL-shortener instance.
10
+
11
+ XS Shlink MCP runs over `stdio`, keeps the Shlink API key on the machine running
12
+ the MCP client, and does not require Docker or a separate hosted service.
13
+
14
+ ## Features
15
+
16
+ - 23 tools for short URLs, visits, tags, domains, redirect rules, QR codes, and
17
+ Mercure integration information
18
+ - Typed and validated tool inputs
19
+ - Structured Shlink API errors with request IDs
20
+ - Bounded pagination and request timeouts
21
+ - Destructive operations disabled by default
22
+ - Windows, macOS, and Linux support through Node.js
23
+
24
+ ## Requirements
25
+
26
+ - Node.js 20 or newer
27
+ - A reachable Shlink instance
28
+ - A Shlink API key
29
+
30
+ The initial release was tested with Shlink 5.1.5 and REST API version 3.
31
+
32
+ ## Quick start
33
+
34
+ Configure an MCP client to launch the published npm package:
35
+
36
+ ```json
37
+ {
38
+ "mcpServers": {
39
+ "shlink": {
40
+ "command": "npx",
41
+ "args": ["-y", "xs-shlink-mcp"],
42
+ "env": {
43
+ "SHLINK_BASE_URL": "https://s.example.com",
44
+ "SHLINK_API_KEY": "replace-me",
45
+ "SHLINK_API_VERSION": "3",
46
+ "SHLINK_ALLOW_DESTRUCTIVE": "false"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ On Windows, use `"command": "npx.cmd"` if the MCP client does not resolve the
54
+ `.cmd` shim automatically.
55
+
56
+ The MCP client starts and stops the server automatically. Do not run ordinary
57
+ interactive commands through the server's standard input because `stdio` is
58
+ reserved for MCP protocol messages.
59
+
60
+ ## Configuration
61
+
62
+ | Variable | Required | Default | Description |
63
+ |---|---:|---:|---|
64
+ | `SHLINK_BASE_URL` | Yes | - | Shlink origin without `/rest`, such as `https://s.example.com` |
65
+ | `SHLINK_API_KEY` | Yes | - | Shlink API key |
66
+ | `SHLINK_API_VERSION` | No | `3` | REST API major version |
67
+ | `SHLINK_TIMEOUT_MS` | No | `10000` | Per-request timeout in milliseconds |
68
+ | `SHLINK_ALLOW_DESTRUCTIVE` | No | `false` | Enables deletion tools when set to `true` |
69
+
70
+ Never commit an API key. Tool results and errors do not include it.
71
+
72
+ ## Tools
73
+
74
+ ### Short URLs
75
+
76
+ - `list_short_urls`
77
+ - `get_short_url`
78
+ - `create_short_url`
79
+ - `edit_short_url`
80
+ - `delete_short_url`
97
81
  - `get_qr_code_url`
98
82
 
99
- ### Analytics and visits
100
-
101
- - `get_visit_stats`
102
- - `get_short_url_visits`
103
- - `get_tag_visits`
104
- - `get_domain_visits`
105
- - `list_orphan_visits`
106
- - `list_non_orphan_visits`
107
- - `delete_short_url_visits`
108
- - `delete_orphan_visits`
109
-
110
- ### Redirect rules, tags, and domains
111
-
112
- - `get_redirect_rules`
113
- - `set_redirect_rules`
114
- - `list_tags`
115
- - `rename_tag`
116
- - `delete_tags`
117
- - `list_domains`
118
- - `set_domain_redirects`
119
-
120
- ### Monitoring and integrations
121
-
122
- - `shlink_health`
123
- - `get_mercure_info`
124
-
125
- All deletion tools require both `SHLINK_ALLOW_DESTRUCTIVE=true` and an explicit
126
- `confirm: true` tool argument.
127
-
128
- ## Test with MCP Inspector
129
-
130
- Build first, then pass the server environment explicitly:
131
-
132
- ```shell
133
- npx -y @modelcontextprotocol/inspector \
134
- -e SHLINK_BASE_URL=https://s.example.com \
135
- -e SHLINK_API_KEY=replace-me \
136
- -- node /absolute/path/to/shlink-mcp/dist/index.js
137
- ```
138
-
139
- Start with `shlink_health`, followed by `list_short_urls`.
140
-
141
- ## Development
142
-
143
- ```shell
144
- npm run check
145
- npm test
146
- npm run validate
147
- ```
148
-
149
- The automated tests use mocked Shlink responses. They do not require or modify
150
- a live Shlink instance.
151
-
152
- ## Security
153
-
154
- See [SECURITY.md](SECURITY.md) for reporting security issues and guidance for
155
- deploying API keys safely.
156
-
157
- ## License
158
-
159
- MIT
83
+ `get_qr_code_url` supports Shlink's QR-code customization parameters: size,
84
+ margin, PNG or SVG format, error-correction level, block-size rounding, and
85
+ foreground/background colors. Shlink deprecated its built-in QR-code endpoint
86
+ in version 4.5, so this tool is provided for compatibility with instances that
87
+ still expose it.
88
+
89
+ ### Analytics and visits
90
+
91
+ - `get_visit_stats`
92
+ - `get_short_url_visits`
93
+ - `get_tag_visits`
94
+ - `get_domain_visits`
95
+ - `list_orphan_visits`
96
+ - `list_non_orphan_visits`
97
+ - `delete_short_url_visits`
98
+ - `delete_orphan_visits`
99
+
100
+ ### Redirect rules, tags, and domains
101
+
102
+ - `get_redirect_rules`
103
+ - `set_redirect_rules`
104
+ - `list_tags`
105
+ - `rename_tag`
106
+ - `delete_tags`
107
+ - `list_domains`
108
+ - `set_domain_redirects`
109
+
110
+ ### Monitoring and integrations
111
+
112
+ - `shlink_health`
113
+ - `get_mercure_info`
114
+
115
+ All deletion tools require both `SHLINK_ALLOW_DESTRUCTIVE=true` and an explicit
116
+ `confirm: true` tool argument.
117
+
118
+ ## Test with MCP Inspector
119
+
120
+ Set the API key in the current shell, then launch the published package.
121
+
122
+ PowerShell:
123
+
124
+ ```powershell
125
+ $env:SHLINK_API_KEY="replace-me"
126
+ npx.cmd -y @modelcontextprotocol/inspector -e "SHLINK_BASE_URL=https://s.example.com" -e "SHLINK_API_KEY=$env:SHLINK_API_KEY" -e "SHLINK_API_VERSION=3" -e "SHLINK_ALLOW_DESTRUCTIVE=false" -- npx.cmd -y xs-shlink-mcp
127
+ ```
128
+
129
+ macOS or Linux:
130
+
131
+ ```shell
132
+ export SHLINK_API_KEY="replace-me"
133
+ npx -y @modelcontextprotocol/inspector \
134
+ -e SHLINK_BASE_URL=https://s.example.com \
135
+ -e SHLINK_API_KEY="$SHLINK_API_KEY" \
136
+ -e SHLINK_API_VERSION=3 \
137
+ -e SHLINK_ALLOW_DESTRUCTIVE=false \
138
+ -- npx -y xs-shlink-mcp
139
+ ```
140
+
141
+ Start with `shlink_health`, followed by `list_short_urls`.
142
+
143
+ ## Local development
144
+
145
+ ```shell
146
+ git clone https://github.com/AlexGreenUK/XS-Shlink-MCP.git
147
+ cd XS-Shlink-MCP
148
+ npm install
149
+ npm run validate
150
+ ```
151
+
152
+ The automated tests use mocked Shlink responses. They do not require or modify
153
+ a live Shlink instance.
154
+
155
+ Useful commands:
156
+
157
+ ```shell
158
+ npm run dev
159
+ npm run build
160
+ npm test
161
+ npm pack --dry-run
162
+ ```
163
+
164
+ ## Releases
165
+
166
+ - [npm package](https://www.npmjs.com/package/xs-shlink-mcp)
167
+ - [GitHub releases](https://github.com/AlexGreenUK/XS-Shlink-MCP/releases)
168
+ - [Changelog](CHANGELOG.md)
169
+
170
+ ## Contributing
171
+
172
+ See [CONTRIBUTING.md](CONTRIBUTING.md).
173
+
174
+ ## Security
175
+
176
+ See [SECURITY.md](SECURITY.md). Use GitHub's private vulnerability reporting
177
+ instead of opening a public issue for sensitive reports.
178
+
179
+ ## License
180
+
181
+ [MIT](LICENSE)
package/SECURITY.md CHANGED
@@ -1,17 +1,17 @@
1
- # Security Policy
2
-
3
- ## Reporting a vulnerability
4
-
5
- Do not open a public issue containing exploit details, API keys, or private
6
- Shlink data. Contact the repository owner privately through the security
7
- reporting channel configured on the GitHub repository.
8
-
9
- ## Deployment guidance
10
-
11
- - Store `SHLINK_API_KEY` in the MCP client's environment or secret store.
12
- - Use the narrowest Shlink API-key roles that satisfy the intended workflows.
13
- - Leave `SHLINK_ALLOW_DESTRUCTIVE` set to `false` unless deletion is required.
14
- - Do not expose a local MCP Inspector proxy to untrusted networks.
15
- - Use HTTPS for the Shlink base URL.
16
- - Rotate an API key immediately if it appears in logs, screenshots, commits, or
17
- shell history.
1
+ # Security Policy
2
+
3
+ ## Reporting a vulnerability
4
+
5
+ Do not open a public issue containing exploit details, API keys, or private
6
+ Shlink data. Use
7
+ [GitHub private vulnerability reporting](https://github.com/AlexGreenUK/XS-Shlink-MCP/security/advisories/new).
8
+
9
+ ## Deployment guidance
10
+
11
+ - Store `SHLINK_API_KEY` in the MCP client's environment or secret store.
12
+ - Use the narrowest Shlink API-key roles that satisfy the intended workflows.
13
+ - Leave `SHLINK_ALLOW_DESTRUCTIVE` set to `false` unless deletion is required.
14
+ - Do not expose a local MCP Inspector proxy to untrusted networks.
15
+ - Use HTTPS for the Shlink base URL.
16
+ - Rotate an API key immediately if it appears in logs, screenshots, commits, or
17
+ shell history.
package/dist/server.d.ts CHANGED
@@ -1,4 +1,17 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import type { Config } from "./config.js";
3
3
  import { ShlinkClient } from "./shlink/client.js";
4
+ type QrCodeOptions = {
5
+ shortCode: string;
6
+ domain?: string;
7
+ size?: number;
8
+ margin?: number;
9
+ format?: "png" | "svg";
10
+ errorCorrection?: "L" | "M" | "Q" | "H";
11
+ roundBlockSize?: boolean;
12
+ color?: string;
13
+ bgColor?: string;
14
+ };
15
+ export declare function buildQrCodeUrl(baseUrl: string, options: QrCodeOptions): string;
4
16
  export declare function createServer(config: Config, client?: ShlinkClient): McpServer;
17
+ export {};
package/dist/server.js CHANGED
@@ -28,6 +28,31 @@ const visitFilters = {
28
28
  endDate: isoDate.optional(),
29
29
  excludeBots: z.boolean().optional(),
30
30
  };
31
+ export function buildQrCodeUrl(baseUrl, options) {
32
+ const url = new URL(baseUrl);
33
+ if (options.domain)
34
+ url.hostname = options.domain;
35
+ const basePath = url.pathname.replace(/\/+$/, "");
36
+ const encodedShortCode = options.shortCode
37
+ .split("/")
38
+ .map((segment) => encodeURIComponent(segment))
39
+ .join("/");
40
+ url.pathname = `${basePath}/${encodedShortCode}/qr-code`;
41
+ url.search = "";
42
+ for (const [key, value] of Object.entries({
43
+ size: options.size,
44
+ margin: options.margin,
45
+ format: options.format,
46
+ errorCorrection: options.errorCorrection,
47
+ roundBlockSize: options.roundBlockSize,
48
+ color: options.color,
49
+ bgColor: options.bgColor,
50
+ })) {
51
+ if (value !== undefined)
52
+ url.searchParams.set(key, String(value));
53
+ }
54
+ return url.toString();
55
+ }
31
56
  function result(data) {
32
57
  return {
33
58
  content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
@@ -266,16 +291,15 @@ export function createServer(config, client = new ShlinkClient(config)) {
266
291
  inputSchema: {
267
292
  ...shortCodeIdentity,
268
293
  size: z.number().int().min(50).max(1000).optional(),
294
+ margin: z.number().int().nonnegative().optional(),
295
+ format: z.enum(["png", "svg"]).optional(),
296
+ errorCorrection: z.enum(["L", "M", "Q", "H"]).optional(),
297
+ roundBlockSize: z.boolean().optional(),
298
+ color: z.string().regex(/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/).optional(),
299
+ bgColor: z.string().regex(/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/).optional(),
269
300
  },
270
301
  annotations: { readOnlyHint: true, idempotentHint: true },
271
- }, ({ shortCode, domain, size }) => {
272
- const origin = domain ? new URL(config.baseUrl) : null;
273
- if (origin && domain)
274
- origin.hostname = domain;
275
- const base = (origin?.toString() ?? config.baseUrl).replace(/\/+$/, "");
276
- const suffix = size ? `/qr-code/${size}` : "/qr-code";
277
- return { qrCodeUrl: `${base}/${encodeURIComponent(shortCode)}${suffix}` };
278
- });
302
+ }, (args) => ({ qrCodeUrl: buildQrCodeUrl(config.baseUrl, args) }));
279
303
  return server;
280
304
  }
281
305
  //# sourceMappingURL=server.js.map
@@ -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,57 +1,57 @@
1
- {
2
- "name": "xs-shlink-mcp",
3
- "version": "0.1.0",
4
- "description": "A Model Context Protocol server for Shlink",
5
- "type": "module",
6
- "bin": {
7
- "xs-shlink-mcp": "dist/index.js"
8
- },
9
- "files": [
10
- "dist",
11
- "README.md",
12
- "CHANGELOG.md",
13
- "SECURITY.md",
14
- "LICENSE"
15
- ],
16
- "scripts": {
17
- "build": "tsc -p tsconfig.build.json",
18
- "clean": "node scripts/clean.mjs",
19
- "dev": "tsx src/index.ts",
20
- "start": "node dist/index.js",
21
- "test": "npm run build && tsx --test tests/*.test.ts",
22
- "check": "tsc -p tsconfig.json",
23
- "validate": "npm run check && npm test",
24
- "prepack": "npm run clean && npm run build"
25
- },
26
- "engines": {
27
- "node": ">=20"
28
- },
29
- "keywords": [
30
- "mcp",
31
- "model-context-protocol",
32
- "shlink",
33
- "url-shortener"
34
- ],
35
- "publishConfig": {
36
- "access": "public"
37
- },
38
- "author": "AlexGreenUK",
39
- "repository": {
40
- "type": "git",
41
- "url": "git+https://github.com/AlexGreenUK/XS-Shlink-MCP.git"
42
- },
43
- "bugs": {
44
- "url": "https://github.com/AlexGreenUK/XS-Shlink-MCP/issues"
45
- },
46
- "homepage": "https://github.com/AlexGreenUK/XS-Shlink-MCP#readme",
47
- "license": "MIT",
48
- "dependencies": {
49
- "@modelcontextprotocol/sdk": "^1.17.0",
50
- "zod": "^3.25.0"
51
- },
52
- "devDependencies": {
53
- "@types/node": "^24.0.0",
54
- "tsx": "^4.20.0",
55
- "typescript": "^5.9.0"
56
- }
57
- }
1
+ {
2
+ "name": "xs-shlink-mcp",
3
+ "version": "0.1.1",
4
+ "description": "A Model Context Protocol server for Shlink",
5
+ "type": "module",
6
+ "bin": {
7
+ "xs-shlink-mcp": "dist/index.js"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "CHANGELOG.md",
13
+ "SECURITY.md",
14
+ "LICENSE"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc -p tsconfig.build.json",
18
+ "clean": "node scripts/clean.mjs",
19
+ "dev": "tsx src/index.ts",
20
+ "start": "node dist/index.js",
21
+ "test": "npm run build && tsx --test tests/*.test.ts",
22
+ "check": "tsc -p tsconfig.json",
23
+ "validate": "npm run check && npm test",
24
+ "prepack": "npm run clean && npm run build"
25
+ },
26
+ "engines": {
27
+ "node": ">=20"
28
+ },
29
+ "keywords": [
30
+ "mcp",
31
+ "model-context-protocol",
32
+ "shlink",
33
+ "url-shortener"
34
+ ],
35
+ "publishConfig": {
36
+ "access": "public"
37
+ },
38
+ "author": "AlexGreenUK",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/AlexGreenUK/XS-Shlink-MCP.git"
42
+ },
43
+ "bugs": {
44
+ "url": "https://github.com/AlexGreenUK/XS-Shlink-MCP/issues"
45
+ },
46
+ "homepage": "https://github.com/AlexGreenUK/XS-Shlink-MCP#readme",
47
+ "license": "MIT",
48
+ "dependencies": {
49
+ "@modelcontextprotocol/sdk": "^1.17.0",
50
+ "zod": "^3.25.0"
51
+ },
52
+ "devDependencies": {
53
+ "@types/node": "^24.0.0",
54
+ "tsx": "^4.20.0",
55
+ "typescript": "^5.9.0"
56
+ }
57
+ }