@aiwerk/mcp-bridge 1.0.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.
Files changed (88) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +117 -0
  3. package/bin/mcp-bridge.js +9 -0
  4. package/bin/mcp-bridge.ts +335 -0
  5. package/package.json +42 -0
  6. package/scripts/install-server.ps1 +300 -0
  7. package/scripts/install-server.sh +357 -0
  8. package/servers/apify/README.md +40 -0
  9. package/servers/apify/config.json +13 -0
  10. package/servers/apify/env_vars +1 -0
  11. package/servers/apify/install.ps1 +3 -0
  12. package/servers/apify/install.sh +4 -0
  13. package/servers/candidates.md +13 -0
  14. package/servers/github/README.md +40 -0
  15. package/servers/github/config.json +21 -0
  16. package/servers/github/env_vars +1 -0
  17. package/servers/github/install.ps1 +3 -0
  18. package/servers/github/install.sh +4 -0
  19. package/servers/google-maps/README.md +40 -0
  20. package/servers/google-maps/config.json +17 -0
  21. package/servers/google-maps/env_vars +1 -0
  22. package/servers/google-maps/install.ps1 +3 -0
  23. package/servers/google-maps/install.sh +4 -0
  24. package/servers/hetzner/README.md +41 -0
  25. package/servers/hetzner/config.json +16 -0
  26. package/servers/hetzner/env_vars +1 -0
  27. package/servers/hetzner/install.ps1 +3 -0
  28. package/servers/hetzner/install.sh +4 -0
  29. package/servers/hostinger/README.md +40 -0
  30. package/servers/hostinger/config.json +17 -0
  31. package/servers/hostinger/env_vars +1 -0
  32. package/servers/hostinger/install.ps1 +3 -0
  33. package/servers/hostinger/install.sh +4 -0
  34. package/servers/index.json +125 -0
  35. package/servers/linear/README.md +40 -0
  36. package/servers/linear/config.json +16 -0
  37. package/servers/linear/env_vars +1 -0
  38. package/servers/linear/install.ps1 +3 -0
  39. package/servers/linear/install.sh +4 -0
  40. package/servers/miro/README.md +40 -0
  41. package/servers/miro/config.json +19 -0
  42. package/servers/miro/env_vars +1 -0
  43. package/servers/miro/install.ps1 +3 -0
  44. package/servers/miro/install.sh +4 -0
  45. package/servers/notion/README.md +42 -0
  46. package/servers/notion/config.json +17 -0
  47. package/servers/notion/env_vars +1 -0
  48. package/servers/notion/install.ps1 +3 -0
  49. package/servers/notion/install.sh +4 -0
  50. package/servers/stripe/README.md +40 -0
  51. package/servers/stripe/config.json +19 -0
  52. package/servers/stripe/env_vars +1 -0
  53. package/servers/stripe/install.ps1 +3 -0
  54. package/servers/stripe/install.sh +4 -0
  55. package/servers/tavily/README.md +40 -0
  56. package/servers/tavily/config.json +17 -0
  57. package/servers/tavily/env_vars +1 -0
  58. package/servers/tavily/install.ps1 +3 -0
  59. package/servers/tavily/install.sh +4 -0
  60. package/servers/todoist/README.md +40 -0
  61. package/servers/todoist/config.json +17 -0
  62. package/servers/todoist/env_vars +1 -0
  63. package/servers/todoist/install.ps1 +3 -0
  64. package/servers/todoist/install.sh +4 -0
  65. package/servers/wise/README.md +41 -0
  66. package/servers/wise/config.json +16 -0
  67. package/servers/wise/env_vars +1 -0
  68. package/servers/wise/install.ps1 +3 -0
  69. package/servers/wise/install.sh +4 -0
  70. package/src/config.ts +168 -0
  71. package/src/index.ts +44 -0
  72. package/src/mcp-router.ts +366 -0
  73. package/src/protocol.ts +69 -0
  74. package/src/schema-convert.ts +178 -0
  75. package/src/standalone-server.ts +385 -0
  76. package/src/tool-naming.ts +51 -0
  77. package/src/transport-base.ts +199 -0
  78. package/src/transport-sse.ts +230 -0
  79. package/src/transport-stdio.ts +312 -0
  80. package/src/transport-streamable-http.ts +188 -0
  81. package/src/types.ts +88 -0
  82. package/src/update-checker.ts +155 -0
  83. package/tests/collision.test.ts +60 -0
  84. package/tests/env-resolve.test.ts +68 -0
  85. package/tests/mcp-router.test.ts +301 -0
  86. package/tests/schema-convert.test.ts +70 -0
  87. package/tests/transport-base.test.ts +214 -0
  88. package/tsconfig.json +15 -0
@@ -0,0 +1,40 @@
1
+ # Apify MCP Server
2
+
3
+ Hosted Apify MCP endpoint for actors, scraping, and docs search.
4
+
5
+ ## Requirements
6
+ - No local runtime needed (streamable HTTP)
7
+ - Apify API token
8
+
9
+ ## Quick Install
10
+
11
+ ### Linux / macOS
12
+ ```bash
13
+ cd ~/.openclaw/extensions/mcp-client/servers/apify
14
+ chmod +x install.sh && ./install.sh
15
+ ```
16
+
17
+ ### Windows (PowerShell)
18
+ ```powershell
19
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\apify
20
+ .\install.ps1
21
+ ```
22
+
23
+ ### Manual Setup
24
+ 1. Get your token: https://console.apify.com/settings/integrations
25
+ 2. Add to .env: `APIFY_TOKEN=your_token`
26
+ 3. Add config to openclaw.json (see config.json)
27
+ 4. Restart gateway
28
+
29
+ ## What you get
30
+ - Actor discovery and execution
31
+ - Run/result retrieval tools
32
+ - Apify documentation and web extraction tools
33
+
34
+ ## Remove
35
+
36
+ ```bash
37
+ ./install-server.sh apify --remove
38
+ ```
39
+
40
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/apify/` for easy reinstall.
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "apify",
4
+ "description": "web scraping & automation",
5
+ "transport": "streamable-http",
6
+ "url": "https://mcp.apify.com/mcp",
7
+ "headers": {
8
+ "Authorization": "Bearer ${APIFY_TOKEN}"
9
+ },
10
+ "authRequired": true,
11
+ "credentialsUrl": "https://console.apify.com/settings/integrations",
12
+ "homepage": "https://apify.com/"
13
+ }
@@ -0,0 +1 @@
1
+ APIFY_TOKEN
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"
@@ -0,0 +1,13 @@
1
+ # Server Candidates
2
+
3
+ Servers to evaluate for inclusion in the catalog.
4
+
5
+ ## To Evaluate
6
+ <!-- Add servers here as they come up. Format: -->
7
+ <!-- - **name** — description | transport | source: URL | notes -->
8
+
9
+ - **npm** — npm registry search, package info, versions | stdio | source: https://www.npmjs.com/package/@anthropic/mcp-server-npm | Anthropic reference server
10
+
11
+ ## Rejected
12
+ <!-- Servers evaluated and decided against. Keep for reference. -->
13
+
@@ -0,0 +1,40 @@
1
+ # GitHub MCP Server
2
+
3
+ Official GitHub MCP server running in Docker.
4
+
5
+ ## Requirements
6
+ - Docker
7
+ - GitHub fine-grained personal access token
8
+
9
+ ## Quick Install
10
+
11
+ ### Linux / macOS
12
+ ```bash
13
+ cd ~/.openclaw/extensions/mcp-client/servers/github
14
+ chmod +x install.sh && ./install.sh
15
+ ```
16
+
17
+ ### Windows (PowerShell)
18
+ ```powershell
19
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\github
20
+ .\install.ps1
21
+ ```
22
+
23
+ ### Manual Setup
24
+ 1. Get your token: https://github.com/settings/tokens
25
+ 2. Add to .env: `GITHUB_MCP_TOKEN=your_token`
26
+ 3. Add config to openclaw.json (see config.json)
27
+ 4. Restart gateway
28
+
29
+ ## What you get
30
+ - Repository browsing and search tools
31
+ - Issue and pull request management tools
32
+ - Workflow and automation helpers
33
+
34
+ ## Remove
35
+
36
+ ```bash
37
+ ./install-server.sh github --remove
38
+ ```
39
+
40
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/github/` for easy reinstall.
@@ -0,0 +1,21 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "github",
4
+ "description": "repos, issues, PRs",
5
+ "transport": "stdio",
6
+ "command": "docker",
7
+ "args": [
8
+ "run",
9
+ "-i",
10
+ "--rm",
11
+ "-e",
12
+ "GITHUB_PERSONAL_ACCESS_TOKEN",
13
+ "ghcr.io/github/github-mcp-server"
14
+ ],
15
+ "env": {
16
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_MCP_TOKEN}"
17
+ },
18
+ "authRequired": true,
19
+ "credentialsUrl": "https://github.com/settings/tokens",
20
+ "homepage": "https://github.com/github/github-mcp-server"
21
+ }
@@ -0,0 +1 @@
1
+ GITHUB_MCP_TOKEN
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"
@@ -0,0 +1,40 @@
1
+ # Google Maps MCP Server
2
+
3
+ Google Maps MCP tools for places, geocoding, and routing.
4
+
5
+ ## Requirements
6
+ - Node.js + npx
7
+ - Google Maps API key
8
+
9
+ ## Quick Install
10
+
11
+ ### Linux / macOS
12
+ ```bash
13
+ cd ~/.openclaw/extensions/mcp-client/servers/google-maps
14
+ chmod +x install.sh && ./install.sh
15
+ ```
16
+
17
+ ### Windows (PowerShell)
18
+ ```powershell
19
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\google-maps
20
+ .\install.ps1
21
+ ```
22
+
23
+ ### Manual Setup
24
+ 1. Get your token: https://console.cloud.google.com/apis/credentials
25
+ 2. Add to .env: `GOOGLE_MAPS_API_KEY=your_token`
26
+ 3. Add config to openclaw.json (see config.json)
27
+ 4. Restart gateway
28
+
29
+ ## What you get
30
+ - Geocoding and reverse geocoding
31
+ - Places search and details
32
+ - Routing and distance tools
33
+
34
+ ## Remove
35
+
36
+ ```bash
37
+ ./install-server.sh google-maps --remove
38
+ ```
39
+
40
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/google-maps/` for easy reinstall.
@@ -0,0 +1,17 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "google-maps",
4
+ "description": "places, geocoding, directions",
5
+ "transport": "stdio",
6
+ "command": "npx",
7
+ "args": [
8
+ "-y",
9
+ "@anthropic-pb/google-maps-mcp-server"
10
+ ],
11
+ "env": {
12
+ "GOOGLE_MAPS_API_KEY": "${GOOGLE_MAPS_API_KEY}"
13
+ },
14
+ "authRequired": true,
15
+ "credentialsUrl": "https://console.cloud.google.com/apis/credentials",
16
+ "homepage": "https://developers.google.com/maps"
17
+ }
@@ -0,0 +1 @@
1
+ GOOGLE_MAPS_API_KEY
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"
@@ -0,0 +1,41 @@
1
+ # Hetzner MCP Server
2
+
3
+ Hetzner Cloud MCP server built from source.
4
+
5
+ ## Requirements
6
+ - Git
7
+ - Node.js + npm
8
+ - Hetzner Cloud API token
9
+
10
+ ## Quick Install
11
+
12
+ ### Linux / macOS
13
+ ```bash
14
+ cd ~/.openclaw/extensions/mcp-client/servers/hetzner
15
+ chmod +x install.sh && ./install.sh
16
+ ```
17
+
18
+ ### Windows (PowerShell)
19
+ ```powershell
20
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\hetzner
21
+ .\install.ps1
22
+ ```
23
+
24
+ ### Manual Setup
25
+ 1. Get your token: https://console.hetzner.cloud/
26
+ 2. Add to .env: `HETZNER_API_TOKEN=your_token`
27
+ 3. Add config to openclaw.json (see config.json)
28
+ 4. Restart gateway
29
+
30
+ ## What you get
31
+ - Server lifecycle tools
32
+ - Volume, network, and firewall tools
33
+ - Project resource inspection tools
34
+
35
+ ## Remove
36
+
37
+ ```bash
38
+ ./install-server.sh hetzner --remove
39
+ ```
40
+
41
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/hetzner/` for easy reinstall.
@@ -0,0 +1,16 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "hetzner",
4
+ "description": "cloud infrastructure",
5
+ "transport": "stdio",
6
+ "command": "node",
7
+ "args": [
8
+ "path/to/dist/index.js"
9
+ ],
10
+ "env": {
11
+ "HCLOUD_TOKEN": "${HETZNER_API_TOKEN}"
12
+ },
13
+ "authRequired": true,
14
+ "credentialsUrl": "https://console.hetzner.cloud/",
15
+ "homepage": "https://www.hetzner.com/cloud"
16
+ }
@@ -0,0 +1 @@
1
+ HETZNER_API_TOKEN
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"
@@ -0,0 +1,40 @@
1
+ # Hostinger MCP Server
2
+
3
+ Hostinger MCP tools for hosting operations.
4
+
5
+ ## Requirements
6
+ - Node.js + npx
7
+ - Hostinger API token
8
+
9
+ ## Quick Install
10
+
11
+ ### Linux / macOS
12
+ ```bash
13
+ cd ~/.openclaw/extensions/mcp-client/servers/hostinger
14
+ chmod +x install.sh && ./install.sh
15
+ ```
16
+
17
+ ### Windows (PowerShell)
18
+ ```powershell
19
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\hostinger
20
+ .\install.ps1
21
+ ```
22
+
23
+ ### Manual Setup
24
+ 1. Get your token: https://hpanel.hostinger.com/api
25
+ 2. Add to .env: `HOSTINGER_API_TOKEN=your_token`
26
+ 3. Add config to openclaw.json (see config.json)
27
+ 4. Restart gateway
28
+
29
+ ## What you get
30
+ - Hosting and site management tools
31
+ - Domain and DNS management tools
32
+ - Account and infrastructure utilities
33
+
34
+ ## Remove
35
+
36
+ ```bash
37
+ ./install-server.sh hostinger --remove
38
+ ```
39
+
40
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/hostinger/` for easy reinstall.
@@ -0,0 +1,17 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "hostinger",
4
+ "description": "web hosting management",
5
+ "transport": "stdio",
6
+ "command": "npx",
7
+ "args": [
8
+ "-y",
9
+ "@anthropic-pb/hostinger-mcp-server"
10
+ ],
11
+ "env": {
12
+ "HOSTINGER_API_TOKEN": "${HOSTINGER_API_TOKEN}"
13
+ },
14
+ "authRequired": true,
15
+ "credentialsUrl": "https://hpanel.hostinger.com/api",
16
+ "homepage": "https://www.hostinger.com/"
17
+ }
@@ -0,0 +1 @@
1
+ HOSTINGER_API_TOKEN
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"
@@ -0,0 +1,125 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "servers": {
4
+ "apify": {
5
+ "description": "web scraping & automation",
6
+ "transport": "streamable-http",
7
+ "authRequired": true,
8
+ "homepage": "https://apify.com/",
9
+ "installMethod": "npx",
10
+ "envVars": [
11
+ "APIFY_TOKEN"
12
+ ]
13
+ },
14
+ "github": {
15
+ "description": "repos, issues, PRs",
16
+ "transport": "stdio",
17
+ "authRequired": true,
18
+ "homepage": "https://github.com/github/github-mcp-server",
19
+ "installMethod": "npx",
20
+ "envVars": [
21
+ "GITHUB_MCP_TOKEN"
22
+ ]
23
+ },
24
+ "google-maps": {
25
+ "description": "places, geocoding, directions",
26
+ "transport": "stdio",
27
+ "authRequired": true,
28
+ "homepage": "https://developers.google.com/maps",
29
+ "installMethod": "npx",
30
+ "envVars": [
31
+ "GOOGLE_MAPS_API_KEY"
32
+ ]
33
+ },
34
+ "hetzner": {
35
+ "description": "cloud infrastructure",
36
+ "transport": "stdio",
37
+ "authRequired": true,
38
+ "homepage": "https://www.hetzner.com/cloud",
39
+ "installMethod": "npx",
40
+ "envVars": [
41
+ "HETZNER_API_TOKEN"
42
+ ]
43
+ },
44
+ "hostinger": {
45
+ "description": "web hosting management",
46
+ "transport": "stdio",
47
+ "authRequired": true,
48
+ "homepage": "https://www.hostinger.com/",
49
+ "installMethod": "npx",
50
+ "envVars": [
51
+ "HOSTINGER_API_TOKEN"
52
+ ]
53
+ },
54
+ "linear": {
55
+ "description": "project management",
56
+ "transport": "stdio",
57
+ "authRequired": true,
58
+ "homepage": "https://linear.app/",
59
+ "installMethod": "npx",
60
+ "envVars": [
61
+ "LINEAR_API_KEY"
62
+ ]
63
+ },
64
+ "miro": {
65
+ "description": "collaborative whiteboard",
66
+ "transport": "stdio",
67
+ "authRequired": true,
68
+ "homepage": "https://miro.com/",
69
+ "installMethod": "npx",
70
+ "envVars": [
71
+ "MIRO_API_TOKEN"
72
+ ]
73
+ },
74
+ "notion": {
75
+ "description": "notes & databases",
76
+ "transport": "stdio",
77
+ "authRequired": true,
78
+ "homepage": "https://www.notion.so/",
79
+ "installMethod": "npx",
80
+ "envVars": [
81
+ "NOTION_API_KEY"
82
+ ]
83
+ },
84
+ "stripe": {
85
+ "description": "payments & billing",
86
+ "transport": "stdio",
87
+ "authRequired": true,
88
+ "homepage": "https://stripe.com/",
89
+ "installMethod": "npx",
90
+ "envVars": [
91
+ "STRIPE_API_KEY"
92
+ ]
93
+ },
94
+ "tavily": {
95
+ "description": "AI-optimized web search",
96
+ "transport": "stdio",
97
+ "authRequired": true,
98
+ "homepage": "https://tavily.com/",
99
+ "installMethod": "npx",
100
+ "envVars": [
101
+ "TAVILY_API_KEY"
102
+ ]
103
+ },
104
+ "todoist": {
105
+ "description": "task management",
106
+ "transport": "stdio",
107
+ "authRequired": true,
108
+ "homepage": "https://todoist.com/",
109
+ "installMethod": "npx",
110
+ "envVars": [
111
+ "TODOIST_API_TOKEN"
112
+ ]
113
+ },
114
+ "wise": {
115
+ "description": "international payments",
116
+ "transport": "stdio",
117
+ "authRequired": true,
118
+ "homepage": "https://wise.com/",
119
+ "installMethod": "npx",
120
+ "envVars": [
121
+ "WISE_API_TOKEN"
122
+ ]
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,40 @@
1
+ # Linear MCP Server
2
+
3
+ Linear issue and project management MCP server.
4
+
5
+ ## Requirements
6
+ - Node.js + npm
7
+ - Linear API key
8
+
9
+ ## Quick Install
10
+
11
+ ### Linux / macOS
12
+ ```bash
13
+ cd ~/.openclaw/extensions/mcp-client/servers/linear
14
+ chmod +x install.sh && ./install.sh
15
+ ```
16
+
17
+ ### Windows (PowerShell)
18
+ ```powershell
19
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\linear
20
+ .\install.ps1
21
+ ```
22
+
23
+ ### Manual Setup
24
+ 1. Get your token: https://linear.app/settings/api
25
+ 2. Add to .env: `LINEAR_API_KEY=your_token`
26
+ 3. Add config to openclaw.json (see config.json)
27
+ 4. Restart gateway
28
+
29
+ ## What you get
30
+ - Issue create/update/search tools
31
+ - Project and cycle management tools
32
+ - Team workflow helpers
33
+
34
+ ## Remove
35
+
36
+ ```bash
37
+ ./install-server.sh linear --remove
38
+ ```
39
+
40
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/linear/` for easy reinstall.
@@ -0,0 +1,16 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "linear",
4
+ "description": "project management",
5
+ "transport": "stdio",
6
+ "command": "node",
7
+ "args": [
8
+ "path/to/linear-mcp/dist/index.js"
9
+ ],
10
+ "env": {
11
+ "LINEAR_API_KEY": "${LINEAR_API_KEY}"
12
+ },
13
+ "authRequired": true,
14
+ "credentialsUrl": "https://linear.app/settings/api",
15
+ "homepage": "https://linear.app/"
16
+ }
@@ -0,0 +1 @@
1
+ LINEAR_API_KEY
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"
@@ -0,0 +1,40 @@
1
+ # Miro MCP Server
2
+
3
+ Miro board MCP tools for collaborative whiteboards.
4
+
5
+ ## Requirements
6
+ - Node.js + npx
7
+ - Miro API token
8
+
9
+ ## Quick Install
10
+
11
+ ### Linux / macOS
12
+ ```bash
13
+ cd ~/.openclaw/extensions/mcp-client/servers/miro
14
+ chmod +x install.sh && ./install.sh
15
+ ```
16
+
17
+ ### Windows (PowerShell)
18
+ ```powershell
19
+ cd $env:USERPROFILE\.openclaw\extensions\mcp-client\servers\miro
20
+ .\install.ps1
21
+ ```
22
+
23
+ ### Manual Setup
24
+ 1. Get your token: https://miro.com/app/settings/user-profile/apps
25
+ 2. Add to .env: `MIRO_API_TOKEN=your_token`
26
+ 3. Add config to openclaw.json (see config.json)
27
+ 4. Restart gateway
28
+
29
+ ## What you get
30
+ - Board content read tools
31
+ - Board object creation/update tools
32
+ - Collaboration workspace helpers
33
+
34
+ ## Remove
35
+
36
+ ```bash
37
+ ./install-server.sh miro --remove
38
+ ```
39
+
40
+ Removes the server from config and cleans up the API token. The server recipe stays in `servers/miro/` for easy reinstall.
@@ -0,0 +1,19 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "miro",
4
+ "description": "collaborative whiteboard",
5
+ "transport": "stdio",
6
+ "command": "npx",
7
+ "args": [
8
+ "-y",
9
+ "@llmindset/mcp-miro",
10
+ "--token",
11
+ "${MIRO_API_TOKEN}"
12
+ ],
13
+ "env": {
14
+ "MIRO_API_TOKEN": "${MIRO_API_TOKEN}"
15
+ },
16
+ "authRequired": true,
17
+ "credentialsUrl": "https://miro.com/app/settings/user-profile/apps",
18
+ "homepage": "https://miro.com/"
19
+ }
@@ -0,0 +1 @@
1
+ MIRO_API_TOKEN
@@ -0,0 +1,3 @@
1
+ $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
2
+ $ServerName = Split-Path -Leaf $ScriptDir
3
+ & (Join-Path $ScriptDir "..\..\install-server.ps1") $ServerName @args
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
3
+ SERVER_NAME="$(basename "$SCRIPT_DIR")"
4
+ exec "$SCRIPT_DIR/../../install-server.sh" "$SERVER_NAME" "$@"