@cyanheads/mcp-ts-core 0.1.19 → 0.1.20
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/CLAUDE.md +3 -1
- package/README.md +1 -1
- package/dist/cli/init.js +6 -3
- package/dist/cli/init.js.map +1 -1
- package/package.json +1 -1
- package/templates/.env.example +1 -1
- package/templates/.vscode/settings.json +0 -1
- package/templates/_.gitignore +10 -127
- package/templates/package.json +12 -2
- package/templates/server.json +99 -0
package/CLAUDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
|
-
**Package:** `@cyanheads/mcp-ts-core` · **Version:** 0.1.
|
|
3
|
+
**Package:** `@cyanheads/mcp-ts-core` · **Version:** 0.1.20
|
|
4
4
|
**npm:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) · **Docker:** [ghcr.io/cyanheads/mcp-ts-core](https://ghcr.io/cyanheads/mcp-ts-core)
|
|
5
5
|
|
|
6
6
|
> **Developer note:** Never assume. Read related files and docs before making changes. Read full file content for context. Never edit a file before reading it.
|
|
@@ -145,6 +145,8 @@ src/
|
|
|
145
145
|
|
|
146
146
|
**File suffixes:** `.tool.ts` (standard or task), `.resource.ts`, `.prompt.ts`, `.app-tool.ts` (UI-enabled), `.app-resource.ts` (UI resource linked to app tool).
|
|
147
147
|
|
|
148
|
+
**`templates/` directory:** Scaffolding source for the CLI init script (`setup` skill). Contents are copied into new consumer servers — includes starter `package.json`, `tsconfig`, `biome.json`, `vitest.config.ts`, `.env.example`, `Dockerfile`, `CLAUDE.md`/`AGENTS.md`, and example tool/resource/prompt definitions. Files prefixed with `_` (e.g. `_.gitignore`, `_tsconfig.json`) are renamed on copy (strip `_` prefix). Changes here affect every newly scaffolded server.
|
|
149
|
+
|
|
148
150
|
---
|
|
149
151
|
|
|
150
152
|
## Adding a Tool
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
<div align="center">
|
|
7
7
|
|
|
8
|
-
[](./CHANGELOG.md) [](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-11-25/changelog.mdx) [](https://modelcontextprotocol.io/) [](./LICENSE)
|
|
9
9
|
|
|
10
10
|
[](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
package/dist/cli/init.js
CHANGED
|
@@ -59,11 +59,12 @@ function init() {
|
|
|
59
59
|
}
|
|
60
60
|
mkdirSync(dest, { recursive: true });
|
|
61
61
|
}
|
|
62
|
+
const pkg = JSON.parse(readFileSync(join(PACKAGE_ROOT, 'package.json'), 'utf-8'));
|
|
62
63
|
console.log(`\n Scaffolding${name ? ` ${name}` : ''} in ${dest}\n`);
|
|
63
64
|
const created = [];
|
|
64
65
|
const skipped = [];
|
|
65
66
|
// Step 1: Copy templates
|
|
66
|
-
copyTemplates(dest, packageName, created, skipped);
|
|
67
|
+
copyTemplates(dest, packageName, pkg.version, created, skipped);
|
|
67
68
|
// Step 2: Copy scripts
|
|
68
69
|
copyScripts(dest, created, skipped);
|
|
69
70
|
// Step 3: Copy external skills
|
|
@@ -72,7 +73,7 @@ function init() {
|
|
|
72
73
|
printSummary(created, skipped, name);
|
|
73
74
|
}
|
|
74
75
|
// ── Template copying ──────────────────────────────────────────────────
|
|
75
|
-
function copyTemplates(dest, name, created, skipped) {
|
|
76
|
+
function copyTemplates(dest, name, frameworkVersion, created, skipped) {
|
|
76
77
|
const entries = walkDir(TEMPLATES_DIR);
|
|
77
78
|
for (const srcPath of entries) {
|
|
78
79
|
let relPath = relative(TEMPLATES_DIR, srcPath);
|
|
@@ -88,7 +89,9 @@ function copyTemplates(dest, name, created, skipped) {
|
|
|
88
89
|
continue;
|
|
89
90
|
}
|
|
90
91
|
mkdirSync(dirname(destPath), { recursive: true });
|
|
91
|
-
const content = readFileSync(srcPath, 'utf-8')
|
|
92
|
+
const content = readFileSync(srcPath, 'utf-8')
|
|
93
|
+
.replace(/\{\{PACKAGE_NAME\}\}/g, name)
|
|
94
|
+
.replace(/\{\{FRAMEWORK_VERSION\}\}/g, frameworkVersion);
|
|
92
95
|
writeFileSync(destPath, content);
|
|
93
96
|
created.push(relPath);
|
|
94
97
|
}
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACtD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAClD,2GAA2G;AAC3G,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC3F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,EAAE;CACH,CAAC,CAAC;AAEH,yEAAyE;AAEzE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE3C,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC;AACT,CAAC;KAAM,CAAC;IACN,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAE/E,CAAC;IACF,OAAO,CAAC,GAAG,CAAC;4BACc,GAAG,CAAC,OAAO;;;;;;;;;CAStC,CAAC,CAAC;AACH,CAAC;AAED,yEAAyE;AAEzE,SAAS,IAAI;IACX,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CACX,kCAAkC,IAAI,kDAAkD,CACzF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;IAErE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,yBAAyB;IACzB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/mcp-ts-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.20",
|
|
4
4
|
"mcpName": "io.github.cyanheads/mcp-ts-core",
|
|
5
5
|
"description": "Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.",
|
|
6
6
|
"main": "dist/core/index.js",
|
package/templates/.env.example
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ── Transport ──────────────────────────────────────────────────────────
|
|
2
2
|
# MCP_TRANSPORT_TYPE=stdio # stdio | http (default: stdio)
|
|
3
|
-
# MCP_HTTP_PORT=
|
|
3
|
+
# MCP_HTTP_PORT=3010 # HTTP port (default: 3010)
|
|
4
4
|
# MCP_HTTP_HOST=localhost # HTTP host (default: localhost)
|
|
5
5
|
# MCP_HTTP_ENDPOINT_PATH=/mcp # HTTP endpoint path (default: /mcp)
|
|
6
6
|
|
package/templates/_.gitignore
CHANGED
|
@@ -2,22 +2,17 @@
|
|
|
2
2
|
# OPERATING SYSTEM FILES
|
|
3
3
|
# =============================================================================
|
|
4
4
|
.DS_Store
|
|
5
|
-
.DS_Store?
|
|
6
|
-
._*
|
|
7
|
-
.Spotlight-V100
|
|
8
|
-
.Trashes
|
|
9
|
-
ehthumbs.db
|
|
10
5
|
Thumbs.db
|
|
11
6
|
|
|
12
7
|
# =============================================================================
|
|
13
8
|
# IDE AND EDITOR FILES
|
|
14
9
|
# =============================================================================
|
|
15
10
|
.idea/
|
|
11
|
+
.vscode/!settings.json
|
|
12
|
+
.vscode/!extensions.json
|
|
16
13
|
*.swp
|
|
17
14
|
*.swo
|
|
18
15
|
*~
|
|
19
|
-
*.sublime-workspace
|
|
20
|
-
*.sublime-project
|
|
21
16
|
.history/
|
|
22
17
|
|
|
23
18
|
# =============================================================================
|
|
@@ -28,106 +23,23 @@ npm-debug.log*
|
|
|
28
23
|
yarn-debug.log*
|
|
29
24
|
yarn-error.log*
|
|
30
25
|
.pnpm-debug.log*
|
|
31
|
-
.npm
|
|
32
|
-
.pnp.js
|
|
33
|
-
.pnp.cjs
|
|
34
|
-
.pnp.mjs
|
|
35
|
-
.pnp.json
|
|
36
|
-
.pnp.ts
|
|
37
26
|
|
|
38
27
|
# =============================================================================
|
|
39
|
-
# TYPESCRIPT &
|
|
28
|
+
# TYPESCRIPT & BUILD
|
|
40
29
|
# =============================================================================
|
|
30
|
+
dist/
|
|
41
31
|
*.tsbuildinfo
|
|
42
32
|
.tsbuildinfo
|
|
43
33
|
.tsbuildinfo.scripts
|
|
44
|
-
.tscache/
|
|
45
34
|
*.js.map
|
|
46
|
-
*.mjs.map
|
|
47
|
-
*.cjs.map
|
|
48
35
|
*.d.ts.map
|
|
49
|
-
*.d.ts
|
|
50
|
-
!*.d.ts.template
|
|
51
36
|
*.tgz
|
|
52
|
-
.rollup.cache
|
|
53
|
-
|
|
54
|
-
# =============================================================================
|
|
55
|
-
# PYTHON
|
|
56
|
-
# =============================================================================
|
|
57
|
-
__pycache__/
|
|
58
|
-
*.py[cod]
|
|
59
|
-
*$py.class
|
|
60
|
-
*.so
|
|
61
|
-
.Python
|
|
62
|
-
develop-eggs/
|
|
63
|
-
eggs/
|
|
64
|
-
.eggs/
|
|
65
|
-
parts/
|
|
66
|
-
sdist/
|
|
67
|
-
var/
|
|
68
|
-
wheels/
|
|
69
|
-
*.egg-info/
|
|
70
|
-
.installed.cfg
|
|
71
|
-
*.egg
|
|
72
|
-
.pytest_cache/
|
|
73
|
-
htmlcov/
|
|
74
|
-
.tox/
|
|
75
|
-
.venv
|
|
76
|
-
venv/
|
|
77
|
-
ENV/
|
|
78
|
-
|
|
79
|
-
# =============================================================================
|
|
80
|
-
# JAVA
|
|
81
|
-
# =============================================================================
|
|
82
|
-
*.class
|
|
83
|
-
*.jar
|
|
84
|
-
*.war
|
|
85
|
-
*.nar
|
|
86
|
-
*.ear
|
|
87
|
-
hs_err_pid*
|
|
88
|
-
target/
|
|
89
|
-
.gradle/
|
|
90
|
-
|
|
91
|
-
# =============================================================================
|
|
92
|
-
# RUBY
|
|
93
|
-
# =============================================================================
|
|
94
|
-
*.gem
|
|
95
|
-
*.rbc
|
|
96
|
-
/.config
|
|
97
|
-
/InstalledFiles
|
|
98
|
-
/pkg/
|
|
99
|
-
/spec/reports/
|
|
100
|
-
/test/tmp/
|
|
101
|
-
/test/version_tmp/
|
|
102
|
-
/tmp/
|
|
103
|
-
.byebug_history
|
|
104
|
-
|
|
105
|
-
# =============================================================================
|
|
106
|
-
# BUILD & DISTRIBUTION
|
|
107
|
-
# =============================================================================
|
|
108
|
-
build/
|
|
109
|
-
dist/
|
|
110
|
-
out/
|
|
111
37
|
|
|
112
38
|
# =============================================================================
|
|
113
|
-
#
|
|
114
|
-
# =============================================================================
|
|
115
|
-
*.com
|
|
116
|
-
*.dll
|
|
117
|
-
*.exe
|
|
118
|
-
*.o
|
|
119
|
-
|
|
120
|
-
# =============================================================================
|
|
121
|
-
# PACKAGE & ARCHIVE FILES
|
|
39
|
+
# TESTING & COVERAGE
|
|
122
40
|
# =============================================================================
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
*.gz
|
|
126
|
-
*.iso
|
|
127
|
-
*.rar
|
|
128
|
-
*.tar
|
|
129
|
-
*.tar.gz
|
|
130
|
-
*.zip
|
|
41
|
+
coverage/
|
|
42
|
+
!coverage/coverage-final.json
|
|
131
43
|
|
|
132
44
|
# =============================================================================
|
|
133
45
|
# LOGS & DATABASES
|
|
@@ -137,60 +49,31 @@ out/
|
|
|
137
49
|
*.sqlite3
|
|
138
50
|
logs/
|
|
139
51
|
|
|
140
|
-
# =============================================================================
|
|
141
|
-
# TESTING & COVERAGE
|
|
142
|
-
# =============================================================================
|
|
143
|
-
.nyc_output/
|
|
144
|
-
coverage/
|
|
145
|
-
!coverage/coverage-final.json
|
|
146
|
-
reports/
|
|
147
|
-
|
|
148
52
|
# =============================================================================
|
|
149
53
|
# CACHE & TEMPORARY FILES
|
|
150
54
|
# =============================================================================
|
|
151
55
|
.cache/
|
|
152
56
|
.parcel-cache/
|
|
153
|
-
*.bak
|
|
154
57
|
|
|
155
58
|
# =============================================================================
|
|
156
59
|
# ENVIRONMENT & CONFIGURATION
|
|
157
60
|
# =============================================================================
|
|
158
61
|
.env
|
|
159
62
|
.env.local
|
|
160
|
-
.env
|
|
161
|
-
.env.test.local
|
|
162
|
-
.env.production.local
|
|
163
|
-
.sample-env
|
|
164
|
-
!sample.template.*
|
|
165
|
-
mcp-servers.json
|
|
166
|
-
mcp-config.json
|
|
63
|
+
.env.*.local
|
|
167
64
|
.wrangler
|
|
168
65
|
worker-configuration.d.ts
|
|
169
66
|
|
|
170
|
-
# =============================================================================
|
|
171
|
-
# DEMO & EXAMPLE DIRECTORIES
|
|
172
|
-
# =============================================================================
|
|
173
|
-
|
|
174
|
-
# =============================================================================
|
|
175
|
-
# GENERATED DOCUMENTATION
|
|
176
|
-
# =============================================================================
|
|
177
|
-
docs/api/
|
|
178
|
-
|
|
179
67
|
# =============================================================================
|
|
180
68
|
# APPLICATION SPECIFIC
|
|
181
69
|
# =============================================================================
|
|
182
70
|
.storage/
|
|
183
71
|
repomix-output*
|
|
184
|
-
duckdata/
|
|
185
72
|
data/
|
|
73
|
+
docs/api/
|
|
186
74
|
docs/devdocs.md
|
|
187
|
-
ideas/
|
|
188
75
|
.mcp.json
|
|
189
76
|
.claude/
|
|
190
77
|
.agents/
|
|
191
|
-
|
|
192
|
-
# =============================================================================
|
|
193
|
-
# MCP REGISTRY
|
|
194
|
-
# =============================================================================
|
|
195
78
|
.mcpregistry_github_token
|
|
196
|
-
.mcpregistry_registry_token
|
|
79
|
+
.mcpregistry_registry_token
|
package/templates/package.json
CHANGED
|
@@ -9,7 +9,13 @@
|
|
|
9
9
|
"{{PACKAGE_NAME}}": "dist/index.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
|
-
"dist/"
|
|
12
|
+
"dist/",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE",
|
|
15
|
+
"CLAUDE.md",
|
|
16
|
+
"AGENTS.md",
|
|
17
|
+
"Dockerfile",
|
|
18
|
+
"server.json"
|
|
13
19
|
],
|
|
14
20
|
"scripts": {
|
|
15
21
|
"build": "tsx scripts/build.ts",
|
|
@@ -30,6 +36,10 @@
|
|
|
30
36
|
"mcp-server",
|
|
31
37
|
"model-context-protocol"
|
|
32
38
|
],
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": ""
|
|
42
|
+
},
|
|
33
43
|
"license": "Apache-2.0",
|
|
34
44
|
"engines": {
|
|
35
45
|
"node": ">=22.0.0"
|
|
@@ -38,7 +48,7 @@
|
|
|
38
48
|
"access": "public"
|
|
39
49
|
},
|
|
40
50
|
"dependencies": {
|
|
41
|
-
"@cyanheads/mcp-ts-core": "^
|
|
51
|
+
"@cyanheads/mcp-ts-core": "^{{FRAMEWORK_VERSION}}",
|
|
42
52
|
"pino-pretty": "^13.1.3"
|
|
43
53
|
},
|
|
44
54
|
"devDependencies": {
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
+
"name": "{{PACKAGE_NAME}}",
|
|
4
|
+
"description": "",
|
|
5
|
+
"repository": {
|
|
6
|
+
"url": "",
|
|
7
|
+
"source": "github"
|
|
8
|
+
},
|
|
9
|
+
"version": "0.1.0",
|
|
10
|
+
"packages": [
|
|
11
|
+
{
|
|
12
|
+
"registryType": "npm",
|
|
13
|
+
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
|
+
"identifier": "{{PACKAGE_NAME}}",
|
|
15
|
+
"runtimeHint": "node",
|
|
16
|
+
"version": "0.1.0",
|
|
17
|
+
"packageArguments": [
|
|
18
|
+
{
|
|
19
|
+
"type": "positional",
|
|
20
|
+
"value": "run"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "positional",
|
|
24
|
+
"value": "start:stdio"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"environmentVariables": [
|
|
28
|
+
{
|
|
29
|
+
"name": "MCP_LOG_LEVEL",
|
|
30
|
+
"description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
|
|
31
|
+
"format": "string",
|
|
32
|
+
"isRequired": false,
|
|
33
|
+
"default": "info"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"transport": {
|
|
37
|
+
"type": "stdio"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"registryType": "npm",
|
|
42
|
+
"registryBaseUrl": "https://registry.npmjs.org",
|
|
43
|
+
"identifier": "{{PACKAGE_NAME}}",
|
|
44
|
+
"runtimeHint": "node",
|
|
45
|
+
"version": "0.1.0",
|
|
46
|
+
"packageArguments": [
|
|
47
|
+
{
|
|
48
|
+
"type": "positional",
|
|
49
|
+
"value": "run"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "positional",
|
|
53
|
+
"value": "start:http"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"environmentVariables": [
|
|
57
|
+
{
|
|
58
|
+
"name": "MCP_HTTP_HOST",
|
|
59
|
+
"description": "The hostname for the HTTP server.",
|
|
60
|
+
"format": "string",
|
|
61
|
+
"isRequired": false,
|
|
62
|
+
"default": "127.0.0.1"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "MCP_HTTP_PORT",
|
|
66
|
+
"description": "The port to run the HTTP server on.",
|
|
67
|
+
"format": "string",
|
|
68
|
+
"isRequired": false,
|
|
69
|
+
"default": "3010"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "MCP_HTTP_ENDPOINT_PATH",
|
|
73
|
+
"description": "The endpoint path for the MCP server.",
|
|
74
|
+
"format": "string",
|
|
75
|
+
"isRequired": false,
|
|
76
|
+
"default": "/mcp"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "MCP_AUTH_MODE",
|
|
80
|
+
"description": "Authentication mode to use: 'none', 'jwt', or 'oauth'.",
|
|
81
|
+
"format": "string",
|
|
82
|
+
"isRequired": false,
|
|
83
|
+
"default": "none"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "MCP_LOG_LEVEL",
|
|
87
|
+
"description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
|
|
88
|
+
"format": "string",
|
|
89
|
+
"isRequired": false,
|
|
90
|
+
"default": "info"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"transport": {
|
|
94
|
+
"type": "streamable-http",
|
|
95
|
+
"url": "http://localhost:3010/mcp"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|