Merge pull request #2 from modelcontextprotocol/justin/individual-packages

Create package for each server
This commit is contained in:
Justin Spahr-Summers 2024-11-19 14:45:03 +00:00 • committed by GitHub
commit c6c6217467
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 773 additions and 1207 deletions

View file

@ -37,11 +37,11 @@ jobs:
with: with:
node-version: 18 node-version: 18
cache: npm cache: npm
registry-url: 'https://registry.npmjs.org' registry-url: "https://registry.npmjs.org"
- run: npm ci - run: npm ci
# TODO: Add --provenance once the repo is public # TODO: Add --provenance once the repo is public
- run: npm publish --access public - run: npm run publish-all
env: env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

1696
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,52 +1,26 @@
{ {
"name": "@modelcontextprotocol/example-servers", "name": "@modelcontextprotocol/servers",
"version": "0.3.0", "version": "0.1.0",
"description": "Example Model Context Protocol servers", "description": "Model Context Protocol servers",
"license": "MIT", "license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)", "author": "Anthropic, PBC (https://anthropic.com)",
"homepage": "https://modelcontextprotocol.github.io", "homepage": "https://modelcontextprotocol.io",
"bugs": "https://github.com/modelcontextprotocol/example-servers/issues", "bugs": "https://github.com/modelcontextprotocol/servers/issues",
"type": "module", "type": "module",
"bin": { "workspaces": [
"mcp-server-everything": "build/everything/index.js", "src/*"
"mcp-server-gdrive": "build/gdrive/index.js",
"mcp-server-giphy": "build/giphy/index.js",
"mcp-server-hubspot": "build/hubspot/index.js",
"mcp-server-osascript": "build/osascript/index.js",
"mcp-server-postgres": "build/postgres/index.js",
"mcp-server-puppeteer": "build/puppeteer/index.js",
"mcp-server-spotify": "build/spotify/index.js",
"mcp-server-tee": "build/tee/index.js"
},
"files": [
"build"
], ],
"files": [],
"scripts": { "scripts": {
"build": "tsc && shx chmod +x build/*/*.js", "build": "npm run build --workspaces",
"prepare": "npm run build", "watch": "npm run watch --workspaces",
"watch": "tsc --watch" "publish-all": "npm publish --workspaces --access public && npm publish --access public"
},
"devDependencies": {
"@types/express": "^5.0.0",
"shx": "^0.3.4",
"tsx": "^4.19.1",
"typescript": "^5.6.2"
}, },
"dependencies": { "dependencies": {
"@modelcontextprotocol/sdk": "0.5.0", "@modelcontextprotocol/server-everything": "*",
"express": "^4.21.1", "@modelcontextprotocol/server-gdrive": "*",
"zod": "^3.23.8", "@modelcontextprotocol/server-postgres": "*",
"zod-to-json-schema": "^3.23.5" "@modelcontextprotocol/server-puppeteer": "*",
}, "@modelcontextprotocol/server-slack": "*"
"optionalDependencies": {
"@google-cloud/local-auth": "^3.0.1",
"@hubspot/api-client": "^12.0.1",
"@spotify/web-api-ts-sdk": "^1.2.0",
"@types/pg": "^8.11.10",
"dotenv": "^16.4.5",
"googleapis": "^144.0.0",
"node-fetch": "^3.3.2",
"pg": "^8.13.0",
"puppeteer": "^23.4.0"
} }
} }

View file

@ -0,0 +1,32 @@
{
"name": "@modelcontextprotocol/server-everything",
"version": "0.1.0",
"description": "MCP server that exercises all the features of the MCP protocol",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
"homepage": "https://modelcontextprotocol.io",
"bugs": "https://github.com/modelcontextprotocol/servers/issues",
"type": "module",
"bin": {
"mcp-server-everything": "dist/index.js"
},
"files": [
"dist"
],
"scripts": {
"build": "tsc && shx chmod +x dist/*.js",
"prepare": "npm run build",
"watch": "tsc --watch"
},
"dependencies": {
"@modelcontextprotocol/sdk": "0.5.0",
"express": "^4.21.1",
"zod": "^3.23.8",
"zod-to-json-schema": "^3.23.5"
},
"devDependencies": {
"@types/express": "^5.0.0",
"shx": "^0.3.4",
"typescript": "^5.6.2"
}
}

View file

@ -0,0 +1,10 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "."
},
"include": [
"./**/*.ts"
]
}

30
src/gdrive/package.json Normal file
View file

@ -0,0 +1,30 @@
{
"name": "@modelcontextprotocol/server-gdrive",
"version": "0.1.0",
"description": "MCP server for interacting with Google Drive",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
"homepage": "https://modelcontextprotocol.io",
"bugs": "https://github.com/modelcontextprotocol/servers/issues",
"type": "module",
"bin": {
"mcp-server-gdrive": "dist/index.js"
},
"files": [
"dist"
],
"scripts": {
"build": "tsc && shx chmod +x dist/*.js",
"prepare": "npm run build",
"watch": "tsc --watch"
},
"dependencies": {
"@google-cloud/local-auth": "^3.0.1",
"@modelcontextprotocol/sdk": "0.5.0",
"googleapis": "^144.0.0"
},
"devDependencies": {
"shx": "^0.3.4",
"typescript": "^5.6.2"
}
}

10
src/gdrive/tsconfig.json Normal file
View file

@ -0,0 +1,10 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "."
},
"include": [
"./**/*.ts"
]
}

30
src/postgres/package.json Normal file
View file

@ -0,0 +1,30 @@
{
"name": "@modelcontextprotocol/server-postgres",
"version": "0.1.0",
"description": "MCP server for interacting with PostgreSQL databases",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
"homepage": "https://modelcontextprotocol.io",
"bugs": "https://github.com/modelcontextprotocol/servers/issues",
"type": "module",
"bin": {
"mcp-server-postgres": "dist/index.js"
},
"files": [
"dist"
],
"scripts": {
"build": "tsc && shx chmod +x dist/*.js",
"prepare": "npm run build",
"watch": "tsc --watch"
},
"dependencies": {
"@modelcontextprotocol/sdk": "0.5.0",
"pg": "^8.13.0"
},
"devDependencies": {
"@types/pg": "^8.11.10",
"shx": "^0.3.4",
"typescript": "^5.6.2"
}
}

View file

@ -0,0 +1,10 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "."
},
"include": [
"./**/*.ts"
]
}

View file

@ -0,0 +1,29 @@
{
"name": "@modelcontextprotocol/server-puppeteer",
"version": "0.1.0",
"description": "MCP server for browser automation using Puppeteer",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
"homepage": "https://modelcontextprotocol.io",
"bugs": "https://github.com/modelcontextprotocol/servers/issues",
"type": "module",
"bin": {
"mcp-server-puppeteer": "dist/index.js"
},
"files": [
"dist"
],
"scripts": {
"build": "tsc && shx chmod +x dist/*.js",
"prepare": "npm run build",
"watch": "tsc --watch"
},
"dependencies": {
"@modelcontextprotocol/sdk": "0.5.0",
"puppeteer": "^23.4.0"
},
"devDependencies": {
"shx": "^0.3.4",
"typescript": "^5.6.2"
}
}

View file

@ -0,0 +1,10 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "."
},
"include": [
"./**/*.ts"
]
}

28
src/slack/package.json Normal file
View file

@ -0,0 +1,28 @@
{
"name": "@modelcontextprotocol/server-slack",
"version": "0.1.0",
"description": "MCP server for interacting with Slack",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
"homepage": "https://modelcontextprotocol.io",
"bugs": "https://github.com/modelcontextprotocol/servers/issues",
"type": "module",
"bin": {
"mcp-server-slack": "dist/index.js"
},
"files": [
"dist"
],
"scripts": {
"build": "tsc && shx chmod +x dist/*.js",
"prepare": "npm run build",
"watch": "tsc --watch"
},
"dependencies": {
"@modelcontextprotocol/sdk": "0.5.0"
},
"devDependencies": {
"shx": "^0.3.4",
"typescript": "^5.6.2"
}
}

11
src/slack/tsconfig.json Normal file
View file

@ -0,0 +1,11 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "."
},
"include": [
"./**/*.ts"
]
}

View file

@ -3,8 +3,6 @@
"target": "ES2022", "target": "ES2022",
"module": "Node16", "module": "Node16",
"moduleResolution": "Node16", "moduleResolution": "Node16",
"outDir": "./build",
"rootDir": "./src",
"strict": true, "strict": true,
"esModuleInterop": true, "esModuleInterop": true,
"skipLibCheck": true, "skipLibCheck": true,
@ -12,5 +10,5 @@
"resolveJsonModule": true "resolveJsonModule": true
}, },
"include": ["src/**/*"], "include": ["src/**/*"],
"exclude": ["node_modules", "packages", "**/*.spec.ts"] "exclude": ["node_modules"]
} }