Skip to content

Commit c5c56ff

Browse files
GarethManningclaude
andcommitted
feat: add stdio CLI entry point for local npx usage
Adds mcp-server/src/cli.ts — a stdio entry point that wires the existing createServer() tool registration to StdioServerTransport, using the pre-bundled skills.json so it works both locally and when installed via npx. Also adds bin field (claude-education-skills → dist/cli.js), files field (dist + src/skills.json), and a postbuild script that copies skills.json into dist/ so require('./skills.json') resolves correctly at runtime. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent feefebf commit c5c56ff

2 files changed

Lines changed: 27 additions & 0 deletions

File tree

mcp-server/package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,16 @@
55
"license": "CC-BY-SA-4.0",
66
"type": "module",
77
"main": "dist/index.js",
8+
"bin": {
9+
"claude-education-skills": "./dist/cli.js"
10+
},
11+
"files": [
12+
"dist",
13+
"src/skills.json"
14+
],
815
"scripts": {
916
"build": "tsc",
17+
"postbuild": "cp src/skills.json dist/skills.json",
1018
"bundle-skills": "tsx scripts/bundle-skills.ts",
1119
"start": "node dist/index.js",
1220
"dev": "tsx src/index.ts",

mcp-server/src/cli.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env node
2+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3+
import { createRequire } from "node:module";
4+
import type { LoadedSkill } from "./types.js";
5+
import { createServer } from "./server.js";
6+
7+
const require = createRequire(import.meta.url);
8+
const skills = require("./skills.json") as LoadedSkill[];
9+
10+
async function main() {
11+
const server = createServer(skills);
12+
const transport = new StdioServerTransport();
13+
await server.connect(transport);
14+
}
15+
16+
main().catch((err) => {
17+
process.stderr.write(`Fatal: ${err}\n`);
18+
process.exit(1);
19+
});

0 commit comments

Comments
 (0)