@aibuilders/mcp-coach-server 1.0.2 → 1.0.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.dev.md ADDED
@@ -0,0 +1,71 @@
1
+ # AI Builder MCP (Developer Guide)
2
+
3
+ This document is for internal development and maintenance. It includes local setup, testing with MCP Inspector, and build instructions.
4
+
5
+ ## Quick Start (Development)
6
+
7
+ ```bash
8
+ # Clone
9
+ git clone <repository-url>
10
+ cd student_portal_mcp
11
+
12
+ # Install dependencies
13
+ npm install
14
+
15
+ # Environment variables
16
+ cp .env.example .env
17
+ # Edit .env and set AI_BUILDER_TOKEN
18
+
19
+ # Run in dev mode
20
+ npm run dev
21
+ ```
22
+
23
+ ## MCP Inspector Testing
24
+
25
+ ```bash
26
+ # Install Inspector
27
+ npm install -g @modelcontextprotocol/inspector
28
+
29
+ # Run Inspector (in another terminal)
30
+ mcp-inspector
31
+
32
+ # In Inspector UI, connect using either:
33
+ # Option 1 (recommended): npx tsx src/index.ts
34
+ # Option 2: node dist/index.js
35
+ ```
36
+
37
+ ## Tool Usage Examples
38
+
39
+ ```json
40
+ {
41
+ "tool": "get_api_specification",
42
+ "arguments": {}
43
+ }
44
+ ```
45
+
46
+ ```json
47
+ {
48
+ "tool": "get_auth_token",
49
+ "arguments": { "masked": true }
50
+ }
51
+ ```
52
+
53
+ ```json
54
+ {
55
+ "tool": "get_deployment_guide",
56
+ "arguments": { "service_type": "fastapi" }
57
+ }
58
+ ```
59
+
60
+ ## Build
61
+
62
+ ```bash
63
+ npm run build
64
+ ```
65
+
66
+ ## Publish Checklist
67
+
68
+ - Ensure `AI_BUILDER_TOKEN` handling is correct
69
+ - Update version in `package.json`
70
+ - `npm publish` (scope: `@aibuilders`)
71
+
package/README.md CHANGED
@@ -1,72 +1,42 @@
1
- # AI Builders MCP Coach Server
1
+ # AI Builder MCP
2
2
 
3
- MCP服务器作为AI部署教练,通过标准化接口向AI传授部署知识、API调用方法和最佳实践。
3
+ An MCP server that provides deployment guidance and API usage support for the AI Builders platform. This README is for end users and focuses on installation and usage, not development.
4
4
 
5
- ## 核心功能
6
-
7
- - **get_api_specification()**: 获取AI Builders平台的OpenAPI规范和endpoint信息
8
- - **get_deployment_guide()**: 获取部署指导(带缓存机制)
9
- - **explain_authentication_model()**: 详细解释认证机制和使用最佳实践
10
- - **get_auth_token()**: 返回环境中的 AI_BUILDER_TOKEN(默认打码)
11
- - **create_env_file()**: 在指定目录创建包含 AI_BUILDER_TOKEN 的 .env 文件
12
-
13
- ## 本地开发和使用
14
-
15
- ### 快速开始(开发模式)
5
+ ## Install
16
6
 
17
7
  ```bash
18
- # 1. 克隆项目
19
- git clone <repository-url>
20
- cd student_portal_mcp
21
-
22
- # 2. 安装依赖
23
- npm install
24
-
25
- # 3. 配置环境变量
26
- cp .env.example .env
27
- # 编辑 .env 文件,添加你的 AI_BUILDER_TOKEN
28
-
29
- # 4. 运行开发服务器
30
- npm run dev
8
+ npm install -g @aibuilders/mcp-coach-server
31
9
  ```
32
10
 
33
- ### 使用MCP Inspector测试
11
+ You can also run without a global install:
34
12
 
35
13
  ```bash
36
- # 安装Inspector
37
- npm install -g @modelcontextprotocol/inspector
38
-
39
- # 运行Inspector(在另一个终端)
40
- mcp-inspector
41
-
42
- # 在Inspector界面中,选择以下任一方式:
43
- # 方式1(推荐): npx tsx /Users/grapeot/co/student_portal_mcp/src/index.ts
44
- # 方式2: node /Users/grapeot/co/student_portal_mcp/dist/index.js
45
- # 然后点击 Connect
14
+ npx @aibuilders/mcp-coach-server
46
15
  ```
47
16
 
48
- ### 正式发布后使用
17
+ ## Run
49
18
 
50
- 等发布到npm后,可以这样使用:
19
+ The server reads `AI_BUILDER_TOKEN` from your environment.
51
20
 
52
21
  ```bash
53
- # 安装
54
- npm install -g @ai-builders/mcp-coach-server
22
+ AI_BUILDER_TOKEN=your_token_here mcp-coach-server
23
+ ```
55
24
 
56
- # 运行
57
- npx @ai-builders/mcp-coach-server
25
+ Or with `npx`:
26
+
27
+ ```bash
28
+ AI_BUILDER_TOKEN=your_token_here npx mcp-coach-server
58
29
  ```
59
30
 
60
- ### 配置到AI编辑器
31
+ ## Configure in MCP Clients
61
32
 
62
- Claude Desktop配置文件中添加:
33
+ Example (Claude Desktop `mcpServers`):
63
34
 
64
35
  ```json
65
36
  {
66
37
  "mcpServers": {
67
- "ai-builders-coach": {
68
- "command": "npx",
69
- "args": ["tsx", "/Users/grapeot/co/student_portal_mcp/src/index.ts"],
38
+ "ai-builder-mcp": {
39
+ "command": "mcp-coach-server",
70
40
  "env": {
71
41
  "AI_BUILDER_TOKEN": "your_token_here"
72
42
  }
@@ -75,49 +45,6 @@ npx @ai-builders/mcp-coach-server
75
45
  }
76
46
  ```
77
47
 
78
- ## 工具使用示例
79
-
80
- ```json
81
- {
82
- "tool": "get_api_specification",
83
- "arguments": {}
84
- }
85
- ```
86
-
87
- 返回内容为英文,并包含:
88
- - `endpoint_info.base_url`(自动从 OpenAPI servers 推断)
89
- - `sdk_compatibility.openai_sdk_compatible`(标注兼容 OpenAI SDK)
90
- - 示例:`/v1/chat/completions`
48
+ ## License
91
49
 
92
- ```json
93
- {
94
- "tool": "get_auth_token",
95
- "arguments": { "masked": true }
96
- }
97
- ```
98
-
99
- 返回打码后的 token;若需要写入 .env:
100
-
101
- ```json
102
- {
103
- "tool": "create_env_file",
104
- "arguments": { "target_dir": "/path/to/project", "overwrite": false }
105
- }
106
- ```
107
-
108
- ## 开发
109
-
110
- ```bash
111
- # 克隆项目
112
- git clone <repository-url>
113
- cd ai-builders-mcp-coach
114
-
115
- # 安装依赖
116
- npm install
117
-
118
- # 开发模式运行
119
- npm run dev
120
-
121
- # 构建
122
- npm run build
123
- ```
50
+ MIT
package/dist/index.js CHANGED
@@ -65,7 +65,7 @@ async function getCachedDeploymentGuide() {
65
65
  catch {
66
66
  }
67
67
  try {
68
- const response = await fetch("https://www.ai-builders.com/resources/students/deployment-prompt.md");
68
+ const response = await fetch("https://space.ai-builders.com/deployment-prompt.md");
69
69
  if (response.ok) {
70
70
  const content = await response.text();
71
71
  const cacheData = {
@@ -92,8 +92,8 @@ async function getCachedDeploymentGuide() {
92
92
  };
93
93
  }
94
94
  const server = new Server({
95
- name: "ai-builders-coach",
96
- version: "1.0.0",
95
+ name: "ai-builder-mcp",
96
+ version: "1.0.4",
97
97
  }, {
98
98
  capabilities: {
99
99
  tools: {},
@@ -104,20 +104,22 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
104
104
  try {
105
105
  switch (name) {
106
106
  case "get_api_specification": {
107
- const response = await fetch("https://www.ai-builders.com/resources/students-backend/openapi.json");
107
+ const response = await fetch("https://space.ai-builders.com/backend/openapi.json");
108
108
  if (!response.ok) {
109
109
  throw new Error(`Failed to fetch OpenAPI specification: HTTP ${response.status}`);
110
110
  }
111
111
  const openapiSpec = await response.json();
112
- let baseUrl = "https://www.ai-builders.com/resources/students-backend";
112
+ let baseUrl = "https://space.ai-builders.com/backend";
113
113
  try {
114
114
  if (openapiSpec?.servers?.length) {
115
115
  const url = openapiSpec.servers[0].url;
116
116
  if (url.startsWith("http")) {
117
117
  baseUrl = url;
118
118
  }
119
- else {
120
- baseUrl = `https://www.ai-builders.com${url}`;
119
+ else if (url.startsWith("/")) {
120
+ // Relative path: use the backend base URL directly
121
+ // Don't append the servers path, use the base URL as-is
122
+ baseUrl = "https://space.ai-builders.com/backend";
121
123
  }
122
124
  }
123
125
  }
@@ -138,7 +140,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
138
140
  authentication: {
139
141
  type: "bearer_token",
140
142
  header: "Authorization: Bearer {AI_BUILDER_TOKEN}",
141
- token_source: "Environment variable AI_BUILDER_TOKEN"
143
+ token_source: "Environment variable AI_BUILDER_TOKEN",
144
+ setup_instruction: "The AI_BUILDER_TOKEN must be set in a .env file. As an AI assistant, you should proactively help users set up their .env file by calling get_auth_token to retrieve the token and then creating or updating the .env file with AI_BUILDER_TOKEN=<token_value>"
142
145
  },
143
146
  sdk_compatibility: {
144
147
  openai_sdk_compatible: true,
@@ -156,7 +159,24 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
156
159
  mcp_recommendation: {
157
160
  note: "If running via an MCP server, call get_auth_token to retrieve AI_BUILDER_TOKEN and configure your environment manually",
158
161
  tools: ["get_auth_token"],
159
- env_key: "AI_BUILDER_TOKEN"
162
+ env_key: "AI_BUILDER_TOKEN",
163
+ ai_assistant_guidance: {
164
+ proactive_setup: "As an AI assistant, you should proactively help users set up their .env file when they need to use the API. Follow these steps:",
165
+ steps: [
166
+ "1. Call get_auth_token tool to retrieve the AI_BUILDER_TOKEN",
167
+ "2. Check if a .env file exists in the project root",
168
+ "3. Create or update the .env file with: AI_BUILDER_TOKEN=<token_from_get_auth_token>",
169
+ "4. Ensure .env is in .gitignore to prevent committing sensitive tokens",
170
+ "5. Inform the user that the token has been configured and they can now use the API"
171
+ ],
172
+ example_env_content: "AI_BUILDER_TOKEN=your_token_here",
173
+ best_practices: [
174
+ "Always use get_auth_token to retrieve the token rather than asking the user",
175
+ "Create the .env file in the project root directory",
176
+ "Verify .gitignore includes .env before creating the file",
177
+ "Explain to the user what you've done and why it's secure"
178
+ ]
179
+ }
160
180
  }
161
181
  }, null, 2)
162
182
  }
@@ -308,7 +328,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
308
328
  async function main() {
309
329
  const transport = new StdioServerTransport();
310
330
  await server.connect(transport);
311
- console.error("AI Builders MCP Coach Server started");
331
+ console.error("AI Builder MCP Server started");
312
332
  }
313
333
  main().catch((error) => {
314
334
  console.error("Server failed to start:", error);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aibuilders/mcp-coach-server",
3
- "version": "1.0.2",
4
- "description": "MCP server as AI deployment coach for AI Builders platform",
3
+ "version": "1.0.4",
4
+ "description": "AI Builder MCP server for AI Builders platform",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
@@ -19,7 +19,6 @@
19
19
  "model-context-protocol",
20
20
  "ai",
21
21
  "deployment",
22
- "coach",
23
22
  "ai-builders"
24
23
  ],
25
24
  "author": "AI Builders",