Skip to content

Commit 709eae1

Browse files
committed
[generate_manifest] deprecate the former workflow & improve the script
1 parent b32526b commit 709eae1

File tree

2 files changed

+68
-39
lines changed

2 files changed

+68
-39
lines changed

.github/workflows/mcp-server-info-bot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: MCP Server Info Bot
1+
name: [DEPRECATED] MCP Server Info Bot
22

33
permissions:
44
contents: write

scripts/get_manifest.py

Lines changed: 67 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -154,45 +154,72 @@ def validate_installations(manifest: dict, repo_url: str) -> Optional[dict]:
154154
TASK: Find installation instructions in the README and convert them to the exact schema format used in the MCP registry.
155155
156156
INSTALLATION SCHEMA EXAMPLES:
157-
158-
1. NPX INSTALLATIONS (most common):
159-
```json
160-
"npm": {{
161-
"type": "npm",
162-
"command": "npx",
163-
"args": ["-y", "@package/name"],
164-
"description": "Install with npx"
165-
}}
166-
```
167-
168-
2. UVX INSTALLATIONS:
169-
```json
170-
"uvx": {{
171-
"type": "uvx",
172-
"command": "uvx",
173-
"args": ["package-name"],
174-
"description": "Run with Claude Desktop"
157+
<README> Docker
158+
{{
159+
"mcpServers": {{
160+
"brave-search": {{
161+
"command": "docker",
162+
"args": [
163+
"run",
164+
"-i",
165+
"--rm",
166+
"-e",
167+
"BRAVE_API_KEY",
168+
"mcp/brave-search"
169+
],
170+
"env": {{
171+
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
172+
}}
173+
}}
174+
}}
175175
}}
176-
```
177-
OR with git URL:
178-
```json
179-
"uvx": {{
180-
"type": "uvx",
181-
"command": "uvx",
182-
"args": ["--from", "git+https://github.com/user/repo", "command-name"],
183-
"description": "Install from git"
176+
NPX
177+
{{
178+
"mcpServers": {{
179+
"brave-search": {{
180+
"command": "npx",
181+
"args": [
182+
"-y",
183+
"@modelcontextprotocol/server-brave-search"
184+
],
185+
"env": {{
186+
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
187+
}}
188+
}}
189+
}}
184190
}}
185-
```
186-
187-
3. DOCKER INSTALLATIONS:
188-
```json
189-
"docker": {{
190-
"type": "docker",
191-
"command": "docker",
192-
"args": ["run", "-i", "--rm", "image-name"],
193-
"description": "Run using Docker"
191+
</README>
192+
From the example README, you should get:
193+
{{
194+
"installations": [
195+
{{
196+
"type": "docker",
197+
"command": "docker",
198+
"args": [
199+
"run",
200+
"-i",
201+
"--rm",
202+
"-e",
203+
"BRAVE_API_KEY",
204+
"mcp/brave-search"
205+
],
206+
"env": {{
207+
"BRAVE_API_KEY": "${{YOUR_API_KEY_HERE}}"
208+
}}
209+
}},
210+
{{
211+
"type": "npm",
212+
"command": "npx",
213+
"args": [
214+
"-y",
215+
"@modelcontextprotocol/server-brave-search"
216+
],
217+
"env": {{
218+
"BRAVE_API_KEY": "${{YOUR_API_KEY_HERE}}"
219+
}}
220+
}}
221+
]
194222
}}
195-
```
196223
197224
PROCESS:
198225
1. Read the README.md from {repo_url}
@@ -204,8 +231,8 @@ def validate_installations(manifest: dict, repo_url: str) -> Optional[dict]:
204231
- Copy the EXACT package names and arguments from README
205232
206233
CRITICAL RULES:
207-
- Use exact package names from README (don't guess or modify)
208-
- Match the schema format exactly as shown in examples
234+
- Use exact argument from README (don't guess or modify)
235+
- Match the schema format as shown in examples
209236
- Include ALL installation methods mentioned in README
210237
- Remove installation methods NOT mentioned in README
211238
- For npx: always use type "npm" with command "npx" and args ["-y", "package-name"]
@@ -288,7 +315,9 @@ def main():
288315

289316
# Step 2: Validate and correct installations
290317
print("Step 2: Validating installations against README...")
318+
print(f"Before: {json.dumps(manifest, indent=2)}")
291319
manifest = validate_installations(manifest, args.repo_url)
320+
print(f"After: {json.dumps(manifest, indent=2)}")
292321

293322
# Step 3: Save manifest
294323
print("Step 3: Saving manifest...")

0 commit comments

Comments
 (0)