├── start-mcp-figma ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-flomo ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-json ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-agentql ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-amap-maps ├── version.md ├── hook │ └── index.js ├── src │ ├── build.yaml │ ├── code │ │ ├── README.md │ │ └── package.json │ ├── s.yaml │ └── readme.md ├── publish.yaml └── README.md ├── start-mcp-chatppt ├── .signore ├── version.md ├── src │ ├── code │ │ └── requirements.txt │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-ever-art ├── version.md ├── hook │ └── index.js ├── src │ ├── build.yaml │ ├── code │ │ ├── tsconfig.json │ │ ├── Dockerfile │ │ ├── package.json │ │ └── README.md │ └── s.yaml └── publish.yaml ├── start-mcp-everything ├── version.md ├── hook │ └── index.js ├── src │ ├── build.yaml │ ├── code │ │ ├── tsconfig.json │ │ ├── Dockerfile │ │ ├── index.ts │ │ ├── sse.ts │ │ └── package.json │ └── s.yaml └── publish.yaml ├── start-mcp-fetch ├── .signore ├── version.md ├── src │ ├── code │ │ └── requirements.txt │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-firecrawl ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-github ├── version.md ├── hook │ └── index.js ├── src │ ├── code │ │ ├── common │ │ │ └── version.ts │ │ ├── tsconfig.json │ │ ├── Dockerfile │ │ ├── operations │ │ │ ├── commits.ts │ │ │ └── search.ts │ │ └── package.json │ ├── build.yaml │ └── s.yaml └── publish.yaml ├── start-mcp-gitlab ├── version.md ├── hook │ └── index.js ├── src │ ├── build.yaml │ ├── code │ │ ├── tsconfig.json │ │ ├── Dockerfile │ │ └── package.json │ └── s.yaml └── publish.yaml ├── start-mcp-notion ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-quickchart ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-time ├── .signore ├── version.md ├── src │ ├── code │ │ └── requirements.txt │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-brave-search ├── version.md ├── hook │ └── index.js ├── src │ ├── build.yaml │ ├── code │ │ ├── tsconfig.json │ │ ├── Dockerfile │ │ └── package.json │ └── s.yaml └── publish.yaml ├── start-mcp-openweather ├── .signore ├── version.md ├── src │ ├── code │ │ ├── requirements.txt │ │ └── weather_server │ │ │ ├── __init__.py │ │ │ ├── utils.py │ │ │ └── models.py │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-perplexity-ask ├── version.md ├── src │ ├── code │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-financial-datasets ├── .signore ├── version.md ├── src │ ├── code │ │ └── requirements.txt │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-nodejs-baidu-map ├── version.md ├── src │ ├── code │ │ ├── .gitignore │ │ ├── tsconfig.json │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-sequentialthinking ├── version.md ├── hook │ └── index.js ├── src │ ├── build.yaml │ ├── code │ │ ├── tsconfig.json │ │ ├── Dockerfile │ │ └── package.json │ └── s.yaml └── publish.yaml ├── start-mcp-java-hello-world ├── version.md ├── src │ ├── .signore │ ├── code │ │ ├── bootstrap_sse │ │ ├── bootstrap │ │ ├── src │ │ │ └── main │ │ │ │ ├── resources │ │ │ │ └── application.properties │ │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── springframework │ │ │ │ └── ai │ │ │ │ └── mcp │ │ │ │ └── sample │ │ │ │ └── server │ │ │ │ ├── McpService.java │ │ │ │ └── McpServerApplication.java │ │ └── .mvn │ │ │ └── wrapper │ │ │ └── maven-wrapper.properties │ ├── build.yaml │ └── s.yaml └── publish.yaml ├── start-mcp-server-aliyun-observability ├── .signore ├── version.md ├── src │ ├── code │ │ └── requirements.txt │ ├── build.yaml │ ├── variable.yaml │ └── s.yaml ├── images │ ├── search_log_store.png │ ├── find_slowest_trace.png │ └── fuzzy_search_and_get_logs.png ├── hook │ └── index.js └── publish.yaml ├── start-mcp-java-hello-world-sse ├── version.md ├── src │ ├── .signore │ ├── code │ │ ├── bootstrap │ │ ├── src │ │ │ ├── main │ │ │ │ ├── resources │ │ │ │ │ └── application.properties │ │ │ │ └── java │ │ │ │ │ └── org │ │ │ │ │ └── springframework │ │ │ │ │ └── ai │ │ │ │ │ └── mcp │ │ │ │ │ └── sample │ │ │ │ │ └── server │ │ │ │ │ ├── McpService.java │ │ │ │ │ └── McpServerApplication.java │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── springframework │ │ │ │ └── ai │ │ │ │ └── mcp │ │ │ │ └── sample │ │ │ │ └── client │ │ │ │ ├── ClientSse.java │ │ │ │ └── ClientStdio.java │ │ └── .mvn │ │ │ └── wrapper │ │ │ └── maven-wrapper.properties │ ├── build.yaml │ └── s.yaml └── publish.yaml ├── start-mcp-nodejs-hello-world ├── version.md ├── src │ ├── .signore │ ├── code │ │ ├── .fcignore │ │ ├── tsconfig.json │ │ ├── check_node_version.mjs │ │ ├── webpack.config.js │ │ └── package.json │ ├── build.yaml │ ├── s.yaml │ └── readme.md ├── hook │ └── index.js ├── publish.yaml └── readme.md ├── start-mcp-python-hello-world ├── version.md ├── src │ ├── code │ │ ├── requirements.txt │ │ ├── .fcignore │ │ ├── main.py │ │ └── README.md │ ├── build.yaml │ ├── s.yaml │ └── readme.md ├── hook │ └── index.js ├── publish.yaml └── readme.md ├── start-mcp-nodejs-hello-world-stdio ├── version.md ├── src │ ├── .signore │ ├── code │ │ ├── .fcignore │ │ ├── tsconfig.json │ │ ├── check_node_version.mjs │ │ ├── webpack.config.js │ │ ├── package.json │ │ └── src │ │ │ └── index.ts │ ├── build.yaml │ ├── s.yaml │ └── readme.md ├── hook │ └── index.js ├── publish.yaml └── readme.md ├── start-mcp-python-hello-world-stdio ├── version.md ├── src │ ├── code │ │ ├── requirements.txt │ │ ├── .fcignore │ │ ├── main.py │ │ └── README.md │ ├── build.yaml │ ├── readme.md │ └── s.yaml ├── hook │ └── index.js ├── publish.yaml └── readme.md ├── start-mcp-nodejs-streamable-http-stateful ├── version.md ├── src │ ├── .signore │ ├── code │ │ ├── .fcignore │ │ ├── tsconfig.json │ │ ├── check_node_version.mjs │ │ ├── webpack.config.js │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── start-mcp-nodejs-streamable-http-stateless ├── version.md ├── src │ ├── .signore │ ├── code │ │ ├── .fcignore │ │ ├── tsconfig.json │ │ ├── check_node_version.mjs │ │ ├── webpack.config.js │ │ └── package.json │ ├── build.yaml │ └── s.yaml ├── hook │ └── index.js └── publish.yaml ├── .github └── workflows │ └── publish_app.yaml ├── LICENSE └── auto-publish.py /start-mcp-figma/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-flomo/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-json/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-agentql/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-amap-maps/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-chatppt/.signore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /start-mcp-ever-art/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-everything/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-fetch/.signore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /start-mcp-firecrawl/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-github/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-gitlab/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-notion/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-quickchart/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-time/.signore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /start-mcp-brave-search/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-openweather/.signore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /start-mcp-perplexity-ask/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-chatppt/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-fetch/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-financial-datasets/.signore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 -------------------------------------------------------------------------------- /start-mcp-time/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-openweather/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-java-hello-world/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/.signore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /start-mcp-financial-datasets/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-python-hello-world/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-time/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | mcp_server_time==0.6.2 -------------------------------------------------------------------------------- /start-mcp-chatppt/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | mcp_server_time==0.6.2 -------------------------------------------------------------------------------- /start-mcp-fetch/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | mcp-server-fetch==2025.4.7 -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/src/code/.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /node_modules -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/version.md: -------------------------------------------------------------------------------- 1 | - 初始化项目 2 | - 测试项目模板 -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/.signore: -------------------------------------------------------------------------------- 1 | ./code/node_modules/ 2 | ./code/dist -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/.signore: -------------------------------------------------------------------------------- 1 | ./code/node_modules/ 2 | ./code/dist -------------------------------------------------------------------------------- /start-mcp-financial-datasets/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | httpx>=0.28.1 2 | mcp[cli]>=1.3.0 -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | mcp==1.6.0 2 | starlette==0.46.1 -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/code/.fcignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | check_node_version.mjs 3 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/.signore: -------------------------------------------------------------------------------- 1 | ./code/node_modules/ 2 | ./code/dist -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/.signore: -------------------------------------------------------------------------------- 1 | ./code/node_modules/ 2 | ./code/dist -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | mcp==1.6.0 2 | starlette==0.46.1 -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/code/.fcignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | check_node_version.mjs 3 | -------------------------------------------------------------------------------- /start-mcp-openweather/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | httpx==0.28.1 2 | fastmcp==2.0.0 3 | pinyin==0.4.0 -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/.signore: -------------------------------------------------------------------------------- 1 | ./code/node_modules/ 2 | ./code/dist 3 | ./code/target/ 4 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/.signore: -------------------------------------------------------------------------------- 1 | ./code/node_modules/ 2 | ./code/dist 3 | ./code/target/ 4 | -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/src/code/requirements.txt: -------------------------------------------------------------------------------- 1 | mcp-server-aliyun-observability==0.1.5 -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/code/.fcignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | check_node_version.mjs 3 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/code/.fcignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | check_node_version.mjs 3 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/code/.fcignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | .venv 3 | uv.lock 4 | .python-version 5 | build -------------------------------------------------------------------------------- /start-mcp-agentql/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "agentql-mcp": "^1.0.0" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/code/.fcignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | .venv 3 | uv.lock 4 | .python-version 5 | build -------------------------------------------------------------------------------- /start-mcp-figma/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "figma-developer-mcp": "^0.1.15" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-firecrawl/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "firecrawl-mcp": "^1.7.2" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-flomo/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "mcp-server-flomo": "^0.0.11" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-json/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@gongrzhe/server-json-mcp": "^1.0.3" 4 | } 5 | } -------------------------------------------------------------------------------- /start-mcp-notion/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@suekou/mcp-notion-server": "^1.2.3" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/code/bootstrap_sse: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | java -jar target/mcp-stdio-server-0.0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /start-mcp-perplexity-ask/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "server-perplexity-ask": "^0.1.3" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-quickchart/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@gongrzhe/quickchart-mcp-server": "^1.0.3" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/bootstrap: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | java -jar target/mcp-starter-webmvc-server-0.0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/images/search_log_store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsapp/mcp-servers/HEAD/start-mcp-server-aliyun-observability/images/search_log_store.png -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/images/find_slowest_trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsapp/mcp-servers/HEAD/start-mcp-server-aliyun-observability/images/find_slowest_trace.png -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/images/fuzzy_search_and_get_logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devsapp/mcp-servers/HEAD/start-mcp-server-aliyun-observability/images/fuzzy_search_and_get_logs.png -------------------------------------------------------------------------------- /start-mcp-agentql/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-chatppt/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-fetch/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-figma/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-flomo/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-github/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-gitlab/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-json/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-notion/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-time/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-amap-maps/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-brave-search/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-ever-art/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-everything/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-firecrawl/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-openweather/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-quickchart/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-github/src/code/common/version.ts: -------------------------------------------------------------------------------- 1 | // If the format of this file changes, so it doesn't simply export a VERSION constant, 2 | // this will break .github/workflows/version-check.yml. 3 | export const VERSION = "0.6.2"; -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/code/bootstrap: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | java -Dspring.ai.mcp.server.stdio=true -Dspring.main.web-application-type=none -Dlogging.pattern.console= -jar target/mcp-stdio-server-0.0.1-SNAPSHOT.jar -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-perplexity-ask/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-financial-datasets/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-json/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-json: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-figma/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-figma: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-flomo/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-flomo: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-notion/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-notion: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-agentql/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-agentql: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-amap-maps/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-amap-maps: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-firecrawl/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-firecrawl: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/hook/index.js: -------------------------------------------------------------------------------- 1 | async function preInit(inputObj) { 2 | 3 | } 4 | 5 | async function postInit(inputObj) { 6 | 7 | } 8 | 9 | module.exports = { 10 | postInit, 11 | preInit 12 | } 13 | -------------------------------------------------------------------------------- /start-mcp-quickchart/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-quickchart: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-perplexity-ask/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-perplexity-ask: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code -------------------------------------------------------------------------------- /start-mcp-openweather/src/code/weather_server/__init__.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Mr.Car 3 | Date: 2025-03-21 14:44:15 4 | ''' 5 | """ 6 | Weather Server Package 7 | """ 8 | 9 | from .server import server, get_weather, get_weather_forecast 10 | 11 | __version__ = "1.0.0" -------------------------------------------------------------------------------- /start-mcp-github/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-github: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-gitlab/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-gitlab: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-ever-art/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-ever-art: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-everything/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-everything: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-brave-search/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-brave-search: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-java-hello-world: 2 | default: 3 | languages: 4 | - java17 5 | cache: 6 | paths: 7 | - "~/.m2" 8 | rootPath: ./code 9 | steps: 10 | - run: mvn clean install -DskipTests 11 | path: ./code 12 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-java-hello-world: 2 | default: 3 | languages: 4 | - java17 5 | cache: 6 | paths: 7 | - "~/.m2" 8 | rootPath: ./code 9 | steps: 10 | - run: mvn clean install -DskipTests 11 | path: ./code 12 | -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-nodejs-baidu-map: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-nodejs-hello-world: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-sequentialthinking: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/build.yaml: -------------------------------------------------------------------------------- 1 | mcp_server_nodejs_hello_world: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "sourceMap": true, 7 | "outDir": "./dist", 8 | "esModuleInterop": true 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "sourceMap": true, 7 | "outDir": "./dist", 8 | "esModuleInterop": true 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-nodejs-hello-world: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-nodejs-hello-world: 2 | default: 3 | languages: 4 | - nodejs20 5 | cache: 6 | paths: 7 | - "~/.npm" 8 | steps: 9 | - run: npm install 10 | path: ./code 11 | - run: npm run build 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-chatppt/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-chatppt: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "sourceMap": true, 7 | "outDir": "./dist", 8 | "esModuleInterop": true 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "sourceMap": true, 7 | "outDir": "./dist", 8 | "esModuleInterop": true 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ] 13 | } -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-python-hello-world: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code 13 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-python-hello-world: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code 13 | -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/src/build.yaml: -------------------------------------------------------------------------------- 1 | mcp-server-aliyun-observability: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/code/main.py: -------------------------------------------------------------------------------- 1 | from mcp.server.fastmcp import FastMCP 2 | 3 | mcp = FastMCP("My App") 4 | 5 | @mcp.tool() 6 | async def hello() -> str: 7 | """Return string 'Hello World!'""" 8 | print("hello tool called") 9 | return f"Hello World!" 10 | 11 | if __name__ == "__main__": 12 | print("STDIO server started") 13 | mcp.run() 14 | 15 | -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/src/variable.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | mcp-server-aliyun-observability: 3 | AccessKeyID: 4 | title: 阿里云 AccessKey ID 5 | type: string 6 | default: '' 7 | sensitive: true 8 | description: 阿里云 AccessKey ID 9 | AccessKeySecret: 10 | title: 阿里云 AccessKey Secret 11 | type: string 12 | default: '' 13 | sensitive: true 14 | description: 阿里云 AccessKey Secret -------------------------------------------------------------------------------- /start-mcp-fetch/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-fetch: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code 13 | - run: find ./python/bin -type f -perm -u+x -exec sed -i '1{/^#!.*/ s|.*|#!/usr/bin/env python3|}' {} \; 14 | path: ./code -------------------------------------------------------------------------------- /start-mcp-time/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-time: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code 13 | - run: find ./python/bin -type f -perm -u+x -exec sed -i '1{/^#!.*/ s|.*|#!/usr/bin/env python3|}' {} \; 14 | path: ./code -------------------------------------------------------------------------------- /start-mcp-openweather/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-openweather: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code 13 | - run: find ./python/bin -type f -perm -u+x -exec sed -i '1{/^#!.*/ s|.*|#!/usr/bin/env python3|}' {} \; 14 | path: ./code -------------------------------------------------------------------------------- /start-mcp-financial-datasets/src/build.yaml: -------------------------------------------------------------------------------- 1 | start-mcp-financial-datasets: 2 | default: 3 | languages: 4 | - python3.10 5 | cache: 6 | paths: 7 | - "~/.cache" 8 | steps: 9 | - run: mkdir -p python 10 | path: ./code 11 | - run: pip install -r requirements.txt -t ./python 12 | path: ./code 13 | - run: find ./python/bin -type f -perm -u+x -exec sed -i '1{/^#!.*/ s|.*|#!/usr/bin/env python3|}' {} \; 14 | path: ./code -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ] 17 | } -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/code/main.py: -------------------------------------------------------------------------------- 1 | from mcp.server.fastmcp import FastMCP 2 | from starlette.applications import Starlette 3 | from starlette.applications import Starlette 4 | from starlette.routing import Mount 5 | 6 | mcp = FastMCP("My App") 7 | 8 | @mcp.tool() 9 | async def hello() -> str: 10 | """Return string 'Hello World!'""" 11 | print("hello tool called") 12 | return f"Hello World!" 13 | 14 | app = Starlette( 15 | routes=[ 16 | Mount('/', app=mcp.sse_app()), 17 | ] 18 | ) 19 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/code/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.main.web-application-type=none 2 | 3 | # NOTE: You must disable the banner and the console logging 4 | # to allow the STDIO transport to work !!! 5 | spring.main.banner-mode=off 6 | logging.pattern.console= 7 | 8 | spring.ai.mcp.server.name=my-weather-server 9 | spring.ai.mcp.server.version=0.0.1 10 | server.port=8080 11 | 12 | logging.file.name=./model-context-protocol/weather/starter-stdio-server/target/mcp-weather-stdio-server.log 13 | 14 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | # spring.main.web-application-type=none 2 | 3 | # NOTE: You must disable the banner and the console logging 4 | # to allow the STDIO transport to work !!! 5 | spring.main.banner-mode=off 6 | # logging.pattern.console= 7 | 8 | # spring.ai.mcp.server.stdio=false 9 | 10 | spring.ai.mcp.server.name=my-weather-server 11 | spring.ai.mcp.server.version=0.0.1 12 | 13 | logging.file.name=./model-context-protocol/weather/starter-webmvc-server/target/starter-webmvc-server.log 14 | -------------------------------------------------------------------------------- /start-mcp-github/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ], 17 | "exclude": [ 18 | "node_modules" 19 | ] 20 | } -------------------------------------------------------------------------------- /start-mcp-gitlab/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ], 17 | "exclude": [ 18 | "node_modules" 19 | ] 20 | } -------------------------------------------------------------------------------- /start-mcp-brave-search/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ], 17 | "exclude": [ 18 | "node_modules" 19 | ] 20 | } -------------------------------------------------------------------------------- /start-mcp-ever-art/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ], 17 | "exclude": [ 18 | "node_modules" 19 | ] 20 | } -------------------------------------------------------------------------------- /start-mcp-everything/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "Node16", 5 | "moduleResolution": "Node16", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ], 17 | "exclude": [ 18 | "node_modules" 19 | ] 20 | } -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/src/code/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2022", 4 | "module": "NodeNext", 5 | "moduleResolution": "NodeNext", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "resolveJsonModule": true, 11 | "outDir": "./dist", 12 | "rootDir": "." 13 | }, 14 | "include": [ 15 | "./**/*.ts" 16 | ], 17 | "exclude": [ 18 | "node_modules" 19 | ] 20 | } -------------------------------------------------------------------------------- /start-mcp-everything/src/code/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22.12-alpine AS builder 2 | 3 | COPY src/everything /app 4 | COPY tsconfig.json /tsconfig.json 5 | 6 | WORKDIR /app 7 | 8 | RUN --mount=type=cache,target=/root/.npm npm install 9 | 10 | FROM node:22-alpine AS release 11 | 12 | WORKDIR /app 13 | 14 | COPY --from=builder /app/dist /app/dist 15 | COPY --from=builder /app/package.json /app/package.json 16 | COPY --from=builder /app/package-lock.json /app/package-lock.json 17 | 18 | ENV NODE_ENV=production 19 | 20 | RUN npm ci --ignore-scripts --omit-dev 21 | 22 | CMD ["node", "dist/index.js"] -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/code/check_node_version.mjs: -------------------------------------------------------------------------------- 1 | // check-node-version.mjs 2 | import semver from 'semver'; 3 | import process from 'process'; 4 | 5 | const MIN_VERSION = '20.0.0'; 6 | 7 | try { 8 | const current = process.version; 9 | if (semver.lt(current, MIN_VERSION)) { 10 | console.error(`error:Need Node.js ${MIN_VERSION} or higher version (current version: ${current})`); 11 | process.exit(1); 12 | } 13 | console.log(`Node version check pass: ${current}`); 14 | } catch (error) { 15 | console.error('Node version check failure: ', error.message); 16 | process.exit(1); 17 | } 18 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/code/check_node_version.mjs: -------------------------------------------------------------------------------- 1 | // check-node-version.mjs 2 | import semver from 'semver'; 3 | import process from 'process'; 4 | 5 | const MIN_VERSION = '20.0.0'; 6 | 7 | try { 8 | const current = process.version; 9 | if (semver.lt(current, MIN_VERSION)) { 10 | console.error(`error:Need Node.js ${MIN_VERSION} or higher version (current version: ${current})`); 11 | process.exit(1); 12 | } 13 | console.log(`Node version check pass: ${current}`); 14 | } catch (error) { 15 | console.error('Node version check failure: ', error.message); 16 | process.exit(1); 17 | } 18 | -------------------------------------------------------------------------------- /start-mcp-amap-maps/src/code/README.md: -------------------------------------------------------------------------------- 1 | # AMap Map MCP Server 2 | 3 | MCP Server for the AMap Map API. 4 | 5 | ## Setup 6 | 7 | ### API Key 8 | Get a AMap Maps API key: 9 | https://lbs.amap.com/api/webservice/create-project-and-key. 10 | 11 | ### NPX 12 | 13 | ```json 14 | { 15 | "mcpServers": { 16 | "amap-maps": { 17 | "command": "npx", 18 | "args": [ 19 | "-y", 20 | "@amap/amap-maps-mcp-server" 21 | ], 22 | "env": { 23 | "AMAP_MAPS_API_KEY": "" 24 | } 25 | } 26 | } 27 | } 28 | ``` 29 | 30 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/code/check_node_version.mjs: -------------------------------------------------------------------------------- 1 | // check-node-version.mjs 2 | import semver from 'semver'; 3 | import process from 'process'; 4 | 5 | const MIN_VERSION = '20.0.0'; 6 | 7 | try { 8 | const current = process.version; 9 | if (semver.lt(current, MIN_VERSION)) { 10 | console.error(`error:Need Node.js ${MIN_VERSION} or higher version (current version: ${current})`); 11 | process.exit(1); 12 | } 13 | console.log(`Node version check pass: ${current}`); 14 | } catch (error) { 15 | console.error('Node version check failure: ', error.message); 16 | process.exit(1); 17 | } 18 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/code/check_node_version.mjs: -------------------------------------------------------------------------------- 1 | // check-node-version.mjs 2 | import semver from 'semver'; 3 | import process from 'process'; 4 | 5 | const MIN_VERSION = '20.0.0'; 6 | 7 | try { 8 | const current = process.version; 9 | if (semver.lt(current, MIN_VERSION)) { 10 | console.error(`error:Need Node.js ${MIN_VERSION} or higher version (current version: ${current})`); 11 | process.exit(1); 12 | } 13 | console.log(`Node version check pass: ${current}`); 14 | } catch (error) { 15 | console.error('Node version check failure: ', error.message); 16 | process.exit(1); 17 | } 18 | -------------------------------------------------------------------------------- /start-mcp-ever-art/src/code/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22.12-alpine AS builder 2 | 3 | COPY src/everart /app 4 | COPY tsconfig.json /tsconfig.json 5 | 6 | WORKDIR /app 7 | 8 | RUN --mount=type=cache,target=/root/.npm npm install 9 | 10 | FROM node:22-alpine AS release 11 | 12 | WORKDIR /app 13 | 14 | COPY --from=builder /app/dist /app/dist 15 | COPY --from=builder /app/package.json /app/package.json 16 | COPY --from=builder /app/package-lock.json /app/package-lock.json 17 | 18 | ENV NODE_ENV=production 19 | 20 | RUN npm ci --ignore-scripts --omit-dev 21 | 22 | ENTRYPOINT ["node", "dist/index.js"] 23 | 24 | CMD ["node", "dist/index.js"] -------------------------------------------------------------------------------- /start-mcp-everything/src/code/index.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; 4 | import { createServer } from "./everything.js"; 5 | 6 | async function main() { 7 | const transport = new StdioServerTransport(); 8 | const { server, cleanup } = createServer(); 9 | 10 | await server.connect(transport); 11 | 12 | // Cleanup on exit 13 | process.on("SIGINT", async () => { 14 | await cleanup(); 15 | await server.close(); 16 | process.exit(0); 17 | }); 18 | } 19 | 20 | main().catch((error) => { 21 | console.error("Server error:", error); 22 | process.exit(1); 23 | }); -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/code/README.md: -------------------------------------------------------------------------------- 1 | # FC SSE Mcp Server 2 | 3 | 基于 FastMCP 和 Starlette 构建的 Serverless 服务端事件(SSE)应用 4 | 5 | ## 功能特性 6 | 7 | - 使用 FastMCP 框架实现 SSE 协议支持 8 | - 集成 Starlette 高性能 ASGI 服务器 9 | - 提供示例工具端点 `hello` 返回 "Hello World!" 10 | - 支持阿里云函数计算部署 11 | 12 | ## 快速开始 13 | 14 | ### 环境要求 15 | 16 | - Python ≥3.10 17 | - pip 包管理工具 18 | 19 | ### 安装依赖 20 | 21 | ```bash 22 | pip install -r requirements.txt 23 | ``` 24 | 25 | ### 本地运行 26 | 27 | ```bash 28 | uvicorn main:app --host 0.0.0.0 --port 9000 29 | ``` 30 | 31 | ## 项目结构 32 | 33 | start-mcp-server/ 34 | ├── src/ 35 | │ ├── code/ 36 | │ │ ├── main.py # 主应用入口 37 | └── s.yaml # Serverless 部署配置 38 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/code/README.md: -------------------------------------------------------------------------------- 1 | # FC SSE Mcp Server 2 | 3 | 基于 FastMCP 和 Starlette 构建的 Serverless 服务端事件(SSE)应用 4 | 5 | ## 功能特性 6 | 7 | - 使用 FastMCP 框架实现 SSE 协议支持 8 | - 集成 Starlette 高性能 ASGI 服务器 9 | - 提供示例工具端点 `hello` 返回 "Hello World!" 10 | - 支持阿里云函数计算部署 11 | 12 | ## 快速开始 13 | 14 | ### 环境要求 15 | 16 | - Python ≥3.10 17 | - pip 包管理工具 18 | 19 | ### 安装依赖 20 | 21 | ```bash 22 | pip install -r requirements.txt 23 | ``` 24 | 25 | ### 本地运行 26 | 27 | ```bash 28 | uvicorn main:app --host 0.0.0.0 --port 9000 29 | ``` 30 | 31 | ## 项目结构 32 | 33 | start-mcp-server/ 34 | ├── src/ 35 | │ ├── code/ 36 | │ │ ├── main.py # 主应用入口 37 | └── s.yaml # Serverless 部署配置 38 | -------------------------------------------------------------------------------- /start-mcp-gitlab/src/code/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22.12-alpine AS builder 2 | 3 | COPY src/gitlab /app 4 | COPY tsconfig.json /tsconfig.json 5 | 6 | WORKDIR /app 7 | 8 | RUN --mount=type=cache,target=/root/.npm npm install 9 | 10 | RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --omit-dev 11 | 12 | FROM node:22.12-alpine AS release 13 | 14 | WORKDIR /app 15 | 16 | COPY --from=builder /app/dist /app/dist 17 | COPY --from=builder /app/package.json /app/package.json 18 | COPY --from=builder /app/package-lock.json /app/package-lock.json 19 | 20 | ENV NODE_ENV=production 21 | 22 | RUN npm ci --ignore-scripts --omit-dev 23 | 24 | ENTRYPOINT ["node", "dist/index.js"] -------------------------------------------------------------------------------- /start-mcp-github/src/code/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22.12-alpine AS builder 2 | 3 | # Must be entire project because `prepare` script is run during `npm install` and requires all files. 4 | COPY src/github /app 5 | COPY tsconfig.json /tsconfig.json 6 | 7 | WORKDIR /app 8 | 9 | RUN --mount=type=cache,target=/root/.npm npm install 10 | 11 | FROM node:22.12-alpine AS release 12 | 13 | COPY --from=builder /app/dist /app/dist 14 | COPY --from=builder /app/package.json /app/package.json 15 | COPY --from=builder /app/package-lock.json /app/package-lock.json 16 | 17 | ENV NODE_ENV=production 18 | 19 | WORKDIR /app 20 | 21 | RUN npm ci --ignore-scripts --omit-dev 22 | 23 | ENTRYPOINT ["node", "dist/index.js"] -------------------------------------------------------------------------------- /start-mcp-brave-search/src/code/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22.12-alpine AS builder 2 | 3 | # Must be entire project because `prepare` script is run during `npm install` and requires all files. 4 | COPY src/brave-search /app 5 | COPY tsconfig.json /tsconfig.json 6 | 7 | WORKDIR /app 8 | 9 | RUN --mount=type=cache,target=/root/.npm npm install 10 | 11 | FROM node:22-alpine AS release 12 | 13 | WORKDIR /app 14 | 15 | COPY --from=builder /app/dist /app/dist 16 | COPY --from=builder /app/package.json /app/package.json 17 | COPY --from=builder /app/package-lock.json /app/package-lock.json 18 | 19 | ENV NODE_ENV=production 20 | 21 | RUN npm ci --ignore-scripts --omit-dev 22 | 23 | ENTRYPOINT ["node", "dist/index.js"] -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/src/main/java/org/springframework/ai/mcp/sample/server/McpService.java: -------------------------------------------------------------------------------- 1 | package org.springframework.ai.mcp.sample.server; 2 | import org.springframework.ai.tool.annotation.Tool; 3 | import org.springframework.stereotype.Service; 4 | 5 | @Service 6 | public class McpService { 7 | public McpService() {} 8 | /** 9 | * A sample tool. Return string 'Hello World!' 10 | * @return String 11 | */ 12 | @Tool(description = "Return string 'Hello World!'") 13 | public String helloWorld() { 14 | return "Hello World!"; 15 | } 16 | 17 | public static void main(String[] args) { 18 | McpService client = new McpService(); 19 | System.out.println(client.helloWorld()); 20 | } 21 | } -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/code/src/main/java/org/springframework/ai/mcp/sample/server/McpService.java: -------------------------------------------------------------------------------- 1 | package org.springframework.ai.mcp.sample.server; 2 | import org.springframework.ai.tool.annotation.Tool; 3 | import org.springframework.stereotype.Service; 4 | 5 | @Service 6 | public class McpService { 7 | public McpService() {} 8 | /** 9 | * A sample tool. Return string 'Hello World!' 10 | * @return String 11 | */ 12 | @Tool(description = "Return string 'Hello World!'") 13 | public String helloWorld() { 14 | return "Hello World!"; 15 | } 16 | 17 | public static void main(String[] args) { 18 | McpService client = new McpService(); 19 | System.out.println(client.helloWorld()); 20 | } 21 | } -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/code/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | mode: 'production', 5 | target: 'node', 6 | entry: './src/index.ts', 7 | output: { 8 | filename: 'index.js', 9 | path: path.resolve(__dirname, 'dist') 10 | }, 11 | module: { 12 | rules: [{ 13 | test: /\.ts$/, 14 | use: 'ts-loader', 15 | exclude: /node_modules/ 16 | }] 17 | }, 18 | resolve: { 19 | extensions: ['.ts', '.js'], 20 | }, 21 | // 关键配置:将所有依赖打包进bundle 22 | externalsPresets: { node: true }, 23 | node: { 24 | __dirname: false, 25 | __filename: false 26 | }, 27 | optimization: { 28 | minimize: false // 保持代码可读性 29 | } 30 | }; -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/src/code/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22.12-alpine AS builder 2 | 3 | COPY src/sequentialthinking /app 4 | COPY tsconfig.json /tsconfig.json 5 | 6 | WORKDIR /app 7 | 8 | RUN --mount=type=cache,target=/root/.npm npm install 9 | 10 | RUN --mount=type=cache,target=/root/.npm-production npm ci --ignore-scripts --omit-dev 11 | 12 | FROM node:22-alpine AS release 13 | 14 | COPY --from=builder /app/dist /app/dist 15 | COPY --from=builder /app/package.json /app/package.json 16 | COPY --from=builder /app/package-lock.json /app/package-lock.json 17 | 18 | ENV NODE_ENV=production 19 | 20 | WORKDIR /app 21 | 22 | RUN npm ci --ignore-scripts --omit-dev 23 | 24 | ENTRYPOINT ["node", "dist/index.js"] 25 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/code/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | mode: 'production', 5 | target: 'node', 6 | entry: './src/index.ts', 7 | output: { 8 | filename: 'index.js', 9 | path: path.resolve(__dirname, 'dist') 10 | }, 11 | module: { 12 | rules: [{ 13 | test: /\.ts$/, 14 | use: 'ts-loader', 15 | exclude: /node_modules/ 16 | }] 17 | }, 18 | resolve: { 19 | extensions: ['.ts', '.js'], 20 | }, 21 | // 关键配置:将所有依赖打包进bundle 22 | externalsPresets: { node: true }, 23 | node: { 24 | __dirname: false, 25 | __filename: false 26 | }, 27 | optimization: { 28 | minimize: false // 保持代码可读性 29 | } 30 | }; -------------------------------------------------------------------------------- /start-mcp-github/src/code/operations/commits.ts: -------------------------------------------------------------------------------- 1 | import { z } from "zod"; 2 | import { githubRequest, buildUrl } from "../common/utils.js"; 3 | 4 | export const ListCommitsSchema = z.object({ 5 | owner: z.string(), 6 | repo: z.string(), 7 | sha: z.string().optional(), 8 | page: z.number().optional(), 9 | perPage: z.number().optional() 10 | }); 11 | 12 | export async function listCommits( 13 | owner: string, 14 | repo: string, 15 | page?: number, 16 | perPage?: number, 17 | sha?: string 18 | ) { 19 | return githubRequest( 20 | buildUrl(`https://api.github.com/repos/${owner}/${repo}/commits`, { 21 | page: page?.toString(), 22 | per_page: perPage?.toString(), 23 | sha 24 | }) 25 | ); 26 | } -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/code/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | mode: 'production', 5 | target: 'node', 6 | entry: './src/index.ts', 7 | output: { 8 | filename: 'index.js', 9 | path: path.resolve(__dirname, 'dist') 10 | }, 11 | module: { 12 | rules: [{ 13 | test: /\.ts$/, 14 | use: 'ts-loader', 15 | exclude: /node_modules/ 16 | }] 17 | }, 18 | resolve: { 19 | extensions: ['.ts', '.js'], 20 | }, 21 | // 关键配置:将所有依赖打包进bundle 22 | externalsPresets: { node: true }, 23 | node: { 24 | __dirname: false, 25 | __filename: false 26 | }, 27 | optimization: { 28 | minimize: false // 保持代码可读性 29 | } 30 | }; -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/code/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | mode: 'production', 5 | target: 'node', 6 | entry: './src/index.ts', 7 | output: { 8 | filename: 'index.js', 9 | path: path.resolve(__dirname, 'dist') 10 | }, 11 | module: { 12 | rules: [{ 13 | test: /\.ts$/, 14 | use: 'ts-loader', 15 | exclude: /node_modules/ 16 | }] 17 | }, 18 | resolve: { 19 | extensions: ['.ts', '.js'], 20 | }, 21 | // 关键配置:将所有依赖打包进bundle 22 | externalsPresets: { node: true }, 23 | node: { 24 | __dirname: false, 25 | __filename: false 26 | }, 27 | optimization: { 28 | minimize: false // 保持代码可读性 29 | } 30 | }; -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@baidumap/mcp-server-baidu-map", 3 | "version": "1.0.3", 4 | "description": "MCP server for using the Baidu Map API", 5 | "license": "MIT", 6 | "author": "", 7 | "homepage": "", 8 | "bugs": "", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-baidu-map": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch" 20 | }, 21 | "dependencies": { 22 | "@modelcontextprotocol/sdk": "1.0.1", 23 | "@types/node-fetch": "^2.6.12", 24 | "node-fetch": "^3.3.2" 25 | }, 26 | "devDependencies": { 27 | "shx": "^0.3.4", 28 | "typescript": "^5.6.2" 29 | } 30 | } -------------------------------------------------------------------------------- /.github/workflows/publish_app.yaml: -------------------------------------------------------------------------------- 1 | name: auto try publish all 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | env: 8 | REGISTRY_TOKEN: ${{secrets.ALIBABA_REGISTRY_V3_PUBLISH_TOKEN}} 9 | 10 | jobs: 11 | auto-publish: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - run: git config --global core.symlinks false 15 | shell: bash 16 | - uses: actions/checkout@v4 17 | - uses: actions/setup-node@v2 18 | with: 19 | node-version: 16 20 | registry-url: https://registry.npmjs.org/ 21 | - uses: actions/setup-python@v5 22 | with: 23 | python-version: '3.10' 24 | - name: install s 25 | run: | 26 | npm i @serverless-devs/s@3.1.7-9e8d4182 -g 27 | - name: publish 28 | run: | 29 | python auto-publish.py -------------------------------------------------------------------------------- /start-mcp-amap-maps/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@amap/amap-maps-mcp-server", 3 | "version": "0.0.7", 4 | "description": "MCP server for using the AMap Maps API", 5 | "author": "高德地图开放平台, PBC (https://lbs.amap.com)", 6 | "type": "module", 7 | "license": "ISC", 8 | "bin": { 9 | "mcp-amap": "./build/index.js" 10 | }, 11 | "files": [ 12 | "build" 13 | ], 14 | "main": "build/index.js", 15 | "scripts": { 16 | "build": "chmod 755 build/index.js" 17 | }, 18 | "dependencies": { 19 | "@modelcontextprotocol/sdk": "1.0.1", 20 | "@types/node-fetch": "^2.6.12", 21 | "node-fetch": "^3.3.2" 22 | }, 23 | "devDependencies": { 24 | "shx": "^0.3.4", 25 | "typescript": "^5.6.2" 26 | }, 27 | "publishConfig": { 28 | "access": "public", 29 | "registry": "https://registry.npmjs.org" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /start-mcp-brave-search/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@modelcontextprotocol/server-brave-search", 3 | "version": "0.6.2", 4 | "description": "MCP server for Brave Search API integration", 5 | "license": "MIT", 6 | "author": "Anthropic, PBC (https://anthropic.com)", 7 | "homepage": "https://modelcontextprotocol.io", 8 | "bugs": "https://github.com/modelcontextprotocol/servers/issues", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-brave-search": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch" 20 | }, 21 | "dependencies": { 22 | "@modelcontextprotocol/sdk": "1.0.1" 23 | }, 24 | "devDependencies": { 25 | "@types/node": "^22", 26 | "shx": "^0.3.4", 27 | "typescript": "^5.6.2" 28 | } 29 | } -------------------------------------------------------------------------------- /start-mcp-gitlab/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@modelcontextprotocol/server-gitlab", 3 | "version": "0.6.2", 4 | "description": "MCP server for using the GitLab API", 5 | "license": "MIT", 6 | "author": "GitLab, PBC (https://gitlab.com)", 7 | "homepage": "https://modelcontextprotocol.io", 8 | "bugs": "https://github.com/modelcontextprotocol/servers/issues", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-gitlab": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch" 20 | }, 21 | "dependencies": { 22 | "@modelcontextprotocol/sdk": "1.0.1", 23 | "@types/node-fetch": "^2.6.12", 24 | "node-fetch": "^3.3.2", 25 | "zod-to-json-schema": "^3.23.5" 26 | }, 27 | "devDependencies": { 28 | "shx": "^0.3.4", 29 | "typescript": "^5.6.2" 30 | } 31 | } -------------------------------------------------------------------------------- /start-mcp-everything/src/code/sse.ts: -------------------------------------------------------------------------------- 1 | import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js"; 2 | import express from "express"; 3 | import { createServer } from "./everything.js"; 4 | 5 | const app = express(); 6 | 7 | const { server, cleanup } = createServer(); 8 | 9 | let transport: SSEServerTransport; 10 | 11 | app.get("/sse", async (req, res) => { 12 | console.log("Received connection"); 13 | transport = new SSEServerTransport("/message", res); 14 | await server.connect(transport); 15 | 16 | server.onclose = async () => { 17 | await cleanup(); 18 | await server.close(); 19 | process.exit(0); 20 | }; 21 | }); 22 | 23 | app.post("/message", async (req, res) => { 24 | console.log("Received message"); 25 | 26 | await transport.handlePostMessage(req, res); 27 | }); 28 | 29 | const PORT = process.env.PORT || 3001; 30 | app.listen(PORT, () => { 31 | console.log(`Server is running on port ${PORT}`); 32 | }); -------------------------------------------------------------------------------- /start-mcp-ever-art/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@modelcontextprotocol/server-everart", 3 | "version": "0.6.2", 4 | "description": "MCP server for EverArt API integration", 5 | "license": "MIT", 6 | "author": "Anthropic, PBC (https://anthropic.com)", 7 | "homepage": "https://modelcontextprotocol.io", 8 | "bugs": "https://github.com/modelcontextprotocol/servers/issues", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-everart": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch" 20 | }, 21 | "dependencies": { 22 | "@modelcontextprotocol/sdk": "0.5.0", 23 | "everart": "^1.0.0", 24 | "node-fetch": "^3.3.2", 25 | "open": "^9.1.0" 26 | }, 27 | "devDependencies": { 28 | "@types/node": "^22", 29 | "shx": "^0.3.4", 30 | "typescript": "^5.3.3" 31 | } 32 | } -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/src/main/java/org/springframework/ai/mcp/sample/server/McpServerApplication.java: -------------------------------------------------------------------------------- 1 | package org.springframework.ai.mcp.sample.server; 2 | 3 | import org.springframework.ai.tool.ToolCallbackProvider; 4 | import org.springframework.ai.tool.method.MethodToolCallbackProvider; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.context.annotation.Bean; 8 | 9 | @SpringBootApplication 10 | public class McpServerApplication { 11 | 12 | public static void main(String[] args) { 13 | // Start the Spring Boot application 14 | // and the MCP server 15 | System.out.println("MCP server started..."); 16 | SpringApplication.run(McpServerApplication.class, args); 17 | } 18 | 19 | @Bean 20 | public ToolCallbackProvider tools(McpService mcpService) { 21 | return MethodToolCallbackProvider.builder().toolObjects(mcpService).build(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/code/src/main/java/org/springframework/ai/mcp/sample/server/McpServerApplication.java: -------------------------------------------------------------------------------- 1 | package org.springframework.ai.mcp.sample.server; 2 | 3 | import org.springframework.ai.tool.ToolCallbackProvider; 4 | import org.springframework.ai.tool.method.MethodToolCallbackProvider; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.context.annotation.Bean; 8 | 9 | @SpringBootApplication 10 | public class McpServerApplication { 11 | 12 | public static void main(String[] args) { 13 | // Start the Spring Boot application 14 | // and the MCP server 15 | System.out.println("MCP server started..."); 16 | SpringApplication.run(McpServerApplication.class, args); 17 | } 18 | 19 | @Bean 20 | public ToolCallbackProvider tools(McpService mcpService) { 21 | return MethodToolCallbackProvider.builder().toolObjects(mcpService).build(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@modelcontextprotocol/server-sequential-thinking", 3 | "version": "0.6.2", 4 | "description": "MCP server for sequential thinking and problem solving", 5 | "license": "MIT", 6 | "author": "Anthropic, PBC (https://anthropic.com)", 7 | "homepage": "https://modelcontextprotocol.io", 8 | "bugs": "https://github.com/modelcontextprotocol/servers/issues", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-sequential-thinking": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch" 20 | }, 21 | "dependencies": { 22 | "@modelcontextprotocol/sdk": "0.5.0", 23 | "chalk": "^5.3.0", 24 | "yargs": "^17.7.2" 25 | }, 26 | "devDependencies": { 27 | "@types/node": "^22", 28 | "@types/yargs": "^17.0.32", 29 | "shx": "^0.3.4", 30 | "typescript": "^5.3.3" 31 | } 32 | } -------------------------------------------------------------------------------- /start-mcp-github/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@modelcontextprotocol/server-github", 3 | "version": "0.6.2", 4 | "description": "MCP server for using the GitHub API", 5 | "license": "MIT", 6 | "author": "Anthropic, PBC (https://anthropic.com)", 7 | "homepage": "https://modelcontextprotocol.io", 8 | "bugs": "https://github.com/modelcontextprotocol/servers/issues", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-github": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch" 20 | }, 21 | "dependencies": { 22 | "@modelcontextprotocol/sdk": "1.0.1", 23 | "@types/node": "^22", 24 | "@types/node-fetch": "^2.6.12", 25 | "node-fetch": "^3.3.2", 26 | "universal-user-agent": "^7.0.2", 27 | "zod": "^3.22.4", 28 | "zod-to-json-schema": "^3.23.5" 29 | }, 30 | "devDependencies": { 31 | "shx": "^0.3.4", 32 | "typescript": "^5.6.2" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-world-node", 3 | "version": "1.0.0", 4 | "main": "dist/index.js", 5 | "scripts": { 6 | "build": "rimraf dist && webpack --config webpack.config.js", 7 | "start": "npm run build && node dist/index.js" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "description": "", 13 | "dependencies": { 14 | "@modelcontextprotocol/sdk": "^1.7.0", 15 | "express": "^5.0.1", 16 | "zod": "^3.24.2" 17 | }, 18 | "devDependencies": { 19 | "@types/express": "^5.0.1", 20 | "@types/node": "^20.0.0", 21 | "nyc": "^15.0.0", 22 | "rimraf": "^6.0.1", 23 | "source-map-support": "^0.5.16", 24 | "ts-loader": "^9.5.2", 25 | "ts-node": "^8.6.2", 26 | "typescript": "^5.8.2", 27 | "webpack": "^5.98.0", 28 | "webpack-cli": "^6.0.1", 29 | "webpack-node-externals": "^3.0.0" 30 | }, 31 | "bin": { 32 | "hello-world": "./dist/index.js" 33 | }, 34 | "files": [ 35 | "dist", 36 | "src" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-world-node", 3 | "version": "1.0.0", 4 | "main": "dist/index.js", 5 | "scripts": { 6 | "build": "rimraf dist && webpack --config webpack.config.js", 7 | "start": "npm run build && node dist/index.js" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "description": "", 13 | "dependencies": { 14 | "@modelcontextprotocol/sdk": "^1.7.0", 15 | "express": "^5.0.1", 16 | "zod": "^3.24.2" 17 | }, 18 | "devDependencies": { 19 | "@types/express": "^5.0.1", 20 | "@types/node": "^20.0.0", 21 | "nyc": "^15.0.0", 22 | "rimraf": "^6.0.1", 23 | "source-map-support": "^0.5.16", 24 | "ts-loader": "^9.5.2", 25 | "ts-node": "^8.6.2", 26 | "typescript": "^5.8.2", 27 | "webpack": "^5.98.0", 28 | "webpack-cli": "^6.0.1", 29 | "webpack-node-externals": "^3.0.0" 30 | }, 31 | "bin": { 32 | "hello-world": "./dist/index.js" 33 | }, 34 | "files": [ 35 | "dist", 36 | "src" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-world-node", 3 | "version": "1.0.0", 4 | "main": "dist/index.js", 5 | "scripts": { 6 | "build": "rimraf dist && webpack --config webpack.config.js", 7 | "start": "npm run build && node dist/index.js" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "description": "", 13 | "dependencies": { 14 | "@modelcontextprotocol/sdk": "^1.12.0", 15 | "express": "^5.0.1", 16 | "zod": "^3.24.2" 17 | }, 18 | "devDependencies": { 19 | "@types/express": "^5.0.1", 20 | "@types/node": "^20.0.0", 21 | "nyc": "^15.0.0", 22 | "rimraf": "^6.0.1", 23 | "source-map-support": "^0.5.16", 24 | "ts-loader": "^9.5.2", 25 | "ts-node": "^8.6.2", 26 | "typescript": "^5.8.2", 27 | "webpack": "^5.98.0", 28 | "webpack-cli": "^6.0.1", 29 | "webpack-node-externals": "^3.0.0" 30 | }, 31 | "bin": { 32 | "hello-world": "./dist/index.js" 33 | }, 34 | "files": [ 35 | "dist", 36 | "src" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-world-node", 3 | "version": "1.0.0", 4 | "main": "dist/index.js", 5 | "scripts": { 6 | "build": "rimraf dist && webpack --config webpack.config.js", 7 | "start": "npm run build && node dist/index.js" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "description": "", 13 | "dependencies": { 14 | "@modelcontextprotocol/sdk": "^1.12.0", 15 | "express": "^5.0.1", 16 | "zod": "^3.24.2" 17 | }, 18 | "devDependencies": { 19 | "@types/express": "^5.0.1", 20 | "@types/node": "^20.0.0", 21 | "nyc": "^15.0.0", 22 | "rimraf": "^6.0.1", 23 | "source-map-support": "^0.5.16", 24 | "ts-loader": "^9.5.2", 25 | "ts-node": "^8.6.2", 26 | "typescript": "^5.8.2", 27 | "webpack": "^5.98.0", 28 | "webpack-cli": "^6.0.1", 29 | "webpack-node-externals": "^3.0.0" 30 | }, 31 | "bin": { 32 | "hello-world": "./dist/index.js" 33 | }, 34 | "files": [ 35 | "dist", 36 | "src" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /start-mcp-everything/src/code/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@modelcontextprotocol/server-everything", 3 | "version": "0.6.2", 4 | "description": "MCP server that exercises all the features of the MCP protocol", 5 | "license": "MIT", 6 | "author": "Anthropic, PBC (https://anthropic.com)", 7 | "homepage": "https://modelcontextprotocol.io", 8 | "bugs": "https://github.com/modelcontextprotocol/servers/issues", 9 | "type": "module", 10 | "bin": { 11 | "mcp-server-everything": "dist/index.js" 12 | }, 13 | "files": [ 14 | "dist" 15 | ], 16 | "scripts": { 17 | "build": "tsc && shx chmod +x dist/*.js", 18 | "prepare": "npm run build", 19 | "watch": "tsc --watch", 20 | "start": "node dist/index.js", 21 | "start:sse": "node dist/sse.js" 22 | }, 23 | "dependencies": { 24 | "@modelcontextprotocol/sdk": "1.0.1", 25 | "express": "^4.21.1", 26 | "zod": "^3.23.8", 27 | "zod-to-json-schema": "^3.23.5" 28 | }, 29 | "devDependencies": { 30 | "@types/express": "^5.0.0", 31 | "shx": "^0.3.4", 32 | "typescript": "^5.6.2" 33 | } 34 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Serverless Devs Registry 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/src/test/java/org/springframework/ai/mcp/sample/client/ClientSse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 - 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.ai.mcp.sample.client; 17 | 18 | import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport; 19 | 20 | 21 | /** 22 | * @author Christian Tzolov 23 | */ 24 | public class ClientSse { 25 | 26 | public static void main(String[] args) { 27 | var transport = new HttpClientSseClientTransport("http://localhost:8080"); 28 | new SampleClient(transport).run(); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/code/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.2 18 | distributionType=only-script 19 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip 20 | # https://github.com/spring-projects/spring-ai-examples/issues/20 21 | spring.ai.mcp.client.toolcallback.enabled=true 22 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | wrapperVersion=3.3.2 18 | distributionType=only-script 19 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip 20 | # https://github.com/spring-projects/spring-ai-examples/issues/20 21 | spring.ai.mcp.client.toolcallback.enabled=true 22 | -------------------------------------------------------------------------------- /auto-publish.py: -------------------------------------------------------------------------------- 1 | # coding=utf-8 2 | 3 | import os 4 | import subprocess 5 | 6 | os.system("s registry login --token {}".format(os.environ["REGISTRY_TOKEN"])) 7 | 8 | 9 | def search_publish_yaml(directory): 10 | succ_app_list = [] 11 | for root, dirs, files in os.walk(directory): 12 | if "publish.yaml" in files: 13 | d = os.path.join(os.getcwd(), root) 14 | d = d.replace("/./", "/") 15 | cmd = ["s", "registry", "publish"] 16 | result = subprocess.run( 17 | cmd, cwd=d, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True 18 | ) 19 | exit_code = result.returncode 20 | print("publish {}; =====> ExitCode={}".format(d, exit_code)) 21 | 22 | if exit_code != 0: 23 | errMsg = "" 24 | errMsg += result.stdout 25 | errMsg += result.stderr 26 | if "当前版本号应当大于前一次版本号" not in errMsg: 27 | print(errMsg) 28 | else: 29 | succ_app_list.append(d) 30 | 31 | print("\n\npublish success app list:\n") 32 | for item in succ_app_list: 33 | print("{} published success".format(item)) 34 | 35 | 36 | # 在当前目录递归搜索 37 | search_publish_yaml(".") -------------------------------------------------------------------------------- /start-mcp-json/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-json 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: JSON MCP Server 8 | HomePage: https://github.com/GongRzhe/JSON-MCP-Server 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | properties: 26 | region: 27 | title: 地域 28 | type: string 29 | default: cn-hangzhou 30 | description: 创建应用所在的地区 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | default: mcp-server-${default-suffix} 41 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 42 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 -------------------------------------------------------------------------------- /start-mcp-fetch/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-fetch 4 | Version: 0.0.7 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Fetch MCP Server 模版 8 | HomePage: https://github.com/modelcontextprotocol/servers/tree/main/src/fetch 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | enum: 31 | - cn-beijing 32 | - cn-hangzhou 33 | - cn-shanghai 34 | - cn-shenzhen 35 | - ap-southeast-1 36 | 37 | functionName: 38 | title: 函数名 39 | type: string 40 | default: mcp-server-${default-suffix} 41 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 42 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 43 | -------------------------------------------------------------------------------- /start-mcp-quickchart/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-quickchart 4 | Version: 0.0.3 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: quickchart-server MCP Server 8 | HomePage: https://github.com/GongRzhe/Quickchart-MCP-Server 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | properties: 26 | region: 27 | title: 地域 28 | type: string 29 | default: cn-hangzhou 30 | description: 创建应用所在的地区 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | default: mcp-server-${default-suffix} 41 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 42 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 -------------------------------------------------------------------------------- /start-mcp-java-hello-world/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-java-hello-world 4 | Version: 0.0.6 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Java 的 FC MCP Server 案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-java-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-java-hello-world-sse 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Java 的 FC MCP SSE Server 案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-java-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/code/src/index.ts: -------------------------------------------------------------------------------- 1 | import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; 2 | import { z } from "zod"; 3 | import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; 4 | 5 | 6 | // Create a new server instance every time a new connection is made to ensure concurrency 7 | const createServer = () => { 8 | // Create server instance 9 | const server = new McpServer({ 10 | name: "my-mcp-server", 11 | version: "1.0.0", 12 | }); 13 | 14 | // Implement your tools here 15 | server.tool( 16 | "hello_world", 17 | "Return string 'hello world!'", 18 | { 19 | // Define input parameters using zod. example: 20 | // prefix: z.string().describe('prefix').optional(), 21 | }, 22 | async () => { 23 | console.log("Hello World tool called"); 24 | return { 25 | content: [{ 26 | type: "text", 27 | text: 'hello world!', 28 | }] 29 | } 30 | }, 31 | ); 32 | return server; 33 | } 34 | // Create a new server instance 35 | const server = createServer(); 36 | // Create a new stdio transport instance 37 | const transport = new StdioServerTransport(); 38 | // Start the server 39 | server.connect(transport).then(() => { 40 | console.log("Server started"); 41 | }).catch((err) => { 42 | console.error("Error starting server:", err); 43 | }); -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-nodejs-hello-world 4 | Version: 0.0.6 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Node 的 FC MCP SSE Server 案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-nodejs-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-python-hello-world 4 | Version: 0.0.4 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Python 的 FC MCP SSE Server 案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-python-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-nodejs-hello-world-stdio 4 | Version: 0.0.4 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Node 的 FC MCP STDIO Server 案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-nodejs-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-python-hello-world-stdio 4 | Version: 0.0.4 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Python 的 FC MCP STDIO Server 案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-python-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-server-aliyun-observability 4 | Version: 0.0.1 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 阿里云可观测服务 Observable MCP Server 模版 8 | HomePage: https://www.piwheels.org/project/mcp-server-aliyun-observability 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | enum: 31 | - cn-beijing 32 | - cn-hangzhou 33 | - cn-shanghai 34 | - cn-shenzhen 35 | - ap-southeast-1 36 | 37 | functionName: 38 | title: 函数名 39 | type: string 40 | default: mcp-server-${default-suffix} 41 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 42 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 -------------------------------------------------------------------------------- /start-mcp-everything/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-everything 4 | Version: 0.0.6 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Everything MCP Server 8 | HomePage: https://github.com/modelcontextprotocol/servers/tree/main/src/everything 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-sequentialthinking 4 | Version: 0.0.3 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Sequential Thinking MCP Server 8 | HomePage: https://github.com/modelcontextprotocol/servers.git 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-nodejs-streamable-http-stateful 4 | Version: 0.0.1 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Node 的 FC MCP Server 示例,支持Streamable HTTP 状态保持 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-nodejs-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-nodejs-streamable-http-stateless 4 | Version: 0.0.1 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 基于 Node 的 FC MCP Streamable HTTP Server 的无状态实现案例 8 | HomePage: https://github.com/devsapp/mcp-servers 9 | Tags: #标签详情 10 | - MCP 11 | - Develop 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | required: true 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | functionName: 38 | title: 函数名 39 | type: string 40 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 41 | default: start-mcp-server-nodejs-${default-suffix} 42 | description: 函数名,支持字母、数字、下划线、连字符,不能以数字或连字符开头,长度为1~64个字符。 43 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-nodejs 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | resources: 7 | start-mcp-nodejs-hello-world: 8 | component: fc3 9 | actions: 10 | pre-deploy: 11 | - run: export PATH=/usr/local/versions/node/v20.8.1/bin:$PATH || true || ver && npm install && node check_node_version.mjs && npm run build 12 | path: ./code 13 | props: 14 | region: ${vars.region} 15 | description: Serverless Devs Node MCP Server 16 | runtime: custom.debian10 17 | timeout: 300 18 | cpu: 0.5 19 | memorySize: 512 20 | diskSize: 512 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: >- 24 | /var/fc/lang/nodejs20/bin:/opt/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | customRuntimeConfig: 26 | command: 27 | - node 28 | - ./dist/index.js 29 | port: 8080 30 | functionName: '{{functionName}}' 31 | code: ./code 32 | instanceConcurrency: 200 33 | concurrencyConfig: 34 | reservedConcurrency: 1 35 | triggers: 36 | - triggerName: httpTrigger 37 | triggerType: http 38 | triggerConfig: 39 | authType: anonymous 40 | methods: 41 | - GET 42 | - POST 43 | - PUT 44 | - DELETE 45 | - HEAD 46 | - OPTIONS 47 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateful/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-nodejs 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | resources: 7 | start-mcp-nodejs-hello-world: 8 | component: fc3 9 | actions: 10 | pre-deploy: 11 | - run: export PATH=/usr/local/versions/node/v20.8.1/bin:$PATH || true || ver && npm install && node check_node_version.mjs && npm run build 12 | path: ./code 13 | props: 14 | region: ${vars.region} 15 | description: Serverless Devs Node MCP Server 16 | runtime: custom.debian10 17 | timeout: 300 18 | cpu: 0.5 19 | memorySize: 512 20 | diskSize: 512 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: >- 24 | /var/fc/lang/nodejs20/bin:/opt/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | customRuntimeConfig: 26 | command: 27 | - node 28 | - ./dist/index.js 29 | port: 8080 30 | functionName: '{{functionName}}' 31 | code: ./code 32 | instanceConcurrency: 200 33 | concurrencyConfig: 34 | reservedConcurrency: 1 35 | triggers: 36 | - triggerName: httpTrigger 37 | triggerType: http 38 | triggerConfig: 39 | authType: anonymous 40 | methods: 41 | - GET 42 | - POST 43 | - PUT 44 | - DELETE 45 | - HEAD 46 | - OPTIONS 47 | -------------------------------------------------------------------------------- /start-mcp-nodejs-streamable-http-stateless/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-nodejs 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | resources: 7 | start-mcp-nodejs-hello-world: 8 | component: fc3 9 | actions: 10 | pre-deploy: 11 | - run: export PATH=/usr/local/versions/node/v20.8.1/bin:$PATH || true || ver && npm install && node check_node_version.mjs && npm run build 12 | path: ./code 13 | props: 14 | region: ${vars.region} 15 | description: Serverless Devs Node MCP Server 16 | runtime: custom.debian10 17 | timeout: 300 18 | cpu: 0.5 19 | memorySize: 512 20 | diskSize: 512 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: >- 24 | /var/fc/lang/nodejs20/bin:/opt/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | customRuntimeConfig: 26 | command: 27 | - node 28 | - ./dist/index.js 29 | port: 8080 30 | functionName: '{{functionName}}' 31 | code: ./code 32 | instanceConcurrency: 200 33 | concurrencyConfig: 34 | reservedConcurrency: 1 35 | triggers: 36 | - triggerName: httpTrigger 37 | triggerType: http 38 | triggerConfig: 39 | authType: anonymous 40 | methods: 41 | - GET 42 | - POST 43 | - PUT 44 | - DELETE 45 | - HEAD 46 | - OPTIONS 47 | -------------------------------------------------------------------------------- /start-mcp-chatppt/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-chatppt 4 | Version: 0.0.3 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: ChatPPT MCP Server 模版 8 | HomePage: https://github.com/YOOTeam/chatppt-mcp/tree/main/python/src 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | # Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | properties: 26 | region: 27 | title: 地域 28 | type: string 29 | default: cn-hangzhou 30 | description: 创建应用所在的地区 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | 45 | API_KEY: 46 | title: 必优科技 API Key 47 | type: string 48 | default: '' 49 | description: 对应的 API Key 需要到 www.yoo-ai.com 进行生成 -------------------------------------------------------------------------------- /start-mcp-time/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-time 4 | Version: 0.0.6 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Time MCP Server 模版 8 | HomePage: https://github.com/modelcontextprotocol/servers/tree/main/src/time 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | properties: 25 | region: 26 | title: 地域 27 | type: string 28 | default: cn-hangzhou 29 | description: 创建应用所在的地区 30 | enum: 31 | - cn-beijing 32 | - cn-hangzhou 33 | - cn-shanghai 34 | - cn-shenzhen 35 | - ap-southeast-1 36 | 37 | functionName: 38 | title: 函数名 39 | type: string 40 | default: mcp-server-${default-suffix} 41 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 42 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 43 | 44 | TZ: 45 | title: 当前时区 46 | type: string 47 | default: Asia/Shanghai 48 | description: mcp_server_timelocal-timezone 参数, 请参考 https://www.zeitverschiebung.net/cn/all-time-zones.html 49 | -------------------------------------------------------------------------------- /start-mcp-flomo/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-flomo 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Flomo MCP Server 8 | HomePage: https://github.com/xianminx/mcp-server-flomo 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | - FLOMO_API_URL 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | FLOMO_API_URL: 45 | title: FLOMO_API_URL 46 | type: string 47 | default: '' 48 | sensitive: 'true' 49 | description: 获取 Flomo API URL, 参考 https://v.flomoapp.com/mine -------------------------------------------------------------------------------- /start-mcp-agentql/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-agentql 4 | Version: 0.0.3 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: agentql MCP Server 8 | HomePage: https://github.com/tinyfish-io/agentql-mcp 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | - AGENTQL_API_KEY 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | AGENTQL_API_KEY: 45 | title: AGENTQL_API_KEY 46 | type: string 47 | default: '' 48 | sensitive: 'true' 49 | description: 获取 agentql API key,请参考 https://dev.agentql.com/ -------------------------------------------------------------------------------- /start-mcp-notion/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-notion 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Notion MCP Server 8 | HomePage: https://github.com/suekou/mcp-notion-server 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | - NOTION_API_TOKEN 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | NOTION_API_TOKEN: 45 | title: NOTION_API_TOKEN 46 | type: string 47 | default: '' 48 | sensitive: 'true' 49 | description: 获取 Notion API Key,请参考 https://developers.notion.com/ -------------------------------------------------------------------------------- /start-mcp-github/src/code/operations/search.ts: -------------------------------------------------------------------------------- 1 | import { z } from "zod"; 2 | import { githubRequest, buildUrl } from "../common/utils.js"; 3 | 4 | export const SearchOptions = z.object({ 5 | q: z.string(), 6 | order: z.enum(["asc", "desc"]).optional(), 7 | page: z.number().min(1).optional(), 8 | per_page: z.number().min(1).max(100).optional(), 9 | }); 10 | 11 | export const SearchUsersOptions = SearchOptions.extend({ 12 | sort: z.enum(["followers", "repositories", "joined"]).optional(), 13 | }); 14 | 15 | export const SearchIssuesOptions = SearchOptions.extend({ 16 | sort: z.enum([ 17 | "comments", 18 | "reactions", 19 | "reactions-+1", 20 | "reactions--1", 21 | "reactions-smile", 22 | "reactions-thinking_face", 23 | "reactions-heart", 24 | "reactions-tada", 25 | "interactions", 26 | "created", 27 | "updated", 28 | ]).optional(), 29 | }); 30 | 31 | export const SearchCodeSchema = SearchOptions; 32 | export const SearchUsersSchema = SearchUsersOptions; 33 | export const SearchIssuesSchema = SearchIssuesOptions; 34 | 35 | export async function searchCode(params: z.infer) { 36 | return githubRequest(buildUrl("https://api.github.com/search/code", params)); 37 | } 38 | 39 | export async function searchIssues(params: z.infer) { 40 | return githubRequest(buildUrl("https://api.github.com/search/issues", params)); 41 | } 42 | 43 | export async function searchUsers(params: z.infer) { 44 | return githubRequest(buildUrl("https://api.github.com/search/users", params)); 45 | } -------------------------------------------------------------------------------- /start-mcp-openweather/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-openweather 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: OpenWeather MCP Server 模版 8 | HomePage: https://github.com/MrCare/mcp_tool 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | properties: 26 | region: 27 | title: 地域 28 | type: string 29 | default: cn-hangzhou 30 | description: 创建应用所在的地区 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | 45 | OPENWEATHERMAP_API_KEY: 46 | title: API_KEY 47 | type: string 48 | default: "" 49 | sensitive: 'true' 50 | description: OpenWeather API Key, 请参考 https://home.openweathermap.org/users/sign_in 51 | -------------------------------------------------------------------------------- /start-mcp-firecrawl/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-firecrawl 4 | Version: 0.0.3 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: firecrawl-mcp-server MCP Server 8 | HomePage: https://github.com/mendableai/firecrawl-mcp-server 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | - FIRECRAWL_API_KEY 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | FIRECRAWL_API_KEY: 45 | title: FIRECRAWL_API_KEY 46 | type: string 47 | default: '' 48 | sensitive: 'true' 49 | description: 获取 Firecrawl API key,请参考 https://www.firecrawl.dev/app/api-keys -------------------------------------------------------------------------------- /start-mcp-figma/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-figma 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Framelink Figma MCP Server 8 | HomePage: https://github.com/GLips/Figma-Context-MCP 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | - FIGMA_API_KEY 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | FIGMA_API_KEY: 45 | title: FIGMA_API_KEY 46 | type: string 47 | default: '' 48 | sensitive: 'true' 49 | description: 获取 Figma API key,请参考 https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens -------------------------------------------------------------------------------- /start-mcp-financial-datasets/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-financial-datasets 4 | Version: 0.0.5 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Financial Datasets MCP Server 模版 8 | HomePage: https://github.com/financial-datasets/mcp-server 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | properties: 26 | region: 27 | title: 地域 28 | type: string 29 | default: cn-hangzhou 30 | description: 创建应用所在的地区 31 | enum: 32 | - cn-beijing 33 | - cn-hangzhou 34 | - cn-shanghai 35 | - cn-shenzhen 36 | - ap-southeast-1 37 | 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | 45 | FINANCIAL_DATASETS_API_KEY: 46 | title: fd-api-key 47 | type: string 48 | default: "" 49 | sensitive: 'true' 50 | description: financial-datasets api-key, 请参考 https://www.financialdatasets.ai/ 51 | -------------------------------------------------------------------------------- /start-mcp-perplexity-ask/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-perplexity-ask 4 | Version: 0.0.2 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Perplexity Ask MCP Server 8 | HomePage: https://github.com/ppl-ai/modelcontextprotocol 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 13 | Service: # 使用的服务 14 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 15 | Authorities: #权限描述 16 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 17 | Organization: 阿里云函数计算(FC) # 所属组织 18 | Effective: Public # 是否公开,取值:Public,Private,Organization 19 | Parameters: 20 | type: object 21 | additionalProperties: false # 不允许增加其他属性 22 | required: # 必填项 23 | - region 24 | - functionName 25 | - PERPLEXITY_API_KEY 26 | properties: 27 | region: 28 | title: 地域 29 | type: string 30 | default: cn-hangzhou 31 | description: 创建应用所在的地区 32 | enum: 33 | - cn-beijing 34 | - cn-hangzhou 35 | - cn-shanghai 36 | - cn-shenzhen 37 | - ap-southeast-1 38 | functionName: 39 | title: 函数名 40 | type: string 41 | default: mcp-server-${default-suffix} 42 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 43 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 44 | PERPLEXITY_API_KEY: 45 | title: PERPLEXITY_API_KEY 46 | type: string 47 | default: '' 48 | sensitive: 'true' 49 | description: 获取 Sonar API Key,请参考 https://docs.perplexity.ai/guides/getting-started -------------------------------------------------------------------------------- /start-mcp-sequentialthinking/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-sequentialthinking: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | layers: 26 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 27 | customRuntimeConfig: 28 | command: 29 | - 'supergateway' 30 | - '--stdio' 31 | - 'node dist/index.js' 32 | - '--port' 33 | - '8080' 34 | - '--ssePath' 35 | - '/sse' 36 | - '--messagePath' 37 | - '/message' 38 | port: 8080 39 | code: ./code 40 | triggers: 41 | - triggerName: httpTrigger 42 | triggerType: http 43 | triggerConfig: 44 | authType: anonymous 45 | methods: 46 | - GET 47 | - POST 48 | - PUT 49 | - DELETE 50 | - HEAD 51 | - OPTIONS 52 | -------------------------------------------------------------------------------- /start-mcp-fetch/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: # 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-fetch: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: "mcp server deployed by devs" 15 | runtime: custom.debian10 16 | code: ./code 17 | handler: index.handler 18 | timeout: 300 19 | instanceConcurrency: 200 20 | cpu: 1 21 | memorySize: 2048 22 | diskSize: 512 23 | logConfig: auto 24 | environmentVariables: 25 | PATH: 26 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 27 | PYTHONPATH: /code:/code/python:/opt/python 28 | layers: 29 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 30 | customRuntimeConfig: 31 | command: 32 | - 'supergateway' 33 | - '--stdio' 34 | - 'mcp-server-fetch' 35 | - '--port' 36 | - '8080' 37 | - '--ssePath' 38 | - '/sse' 39 | - '--messagePath' 40 | - '/message' 41 | port: 8080 42 | triggers: 43 | - triggerName: httpTrigger 44 | triggerType: http 45 | triggerConfig: 46 | authType: anonymous 47 | methods: 48 | - GET 49 | - POST 50 | - PUT 51 | - DELETE 52 | - HEAD 53 | - OPTIONS -------------------------------------------------------------------------------- /start-mcp-ever-art/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-ever-art: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | EVERART_API_KEY: '{{ EVERART_API_KEY }}' 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - 'node dist/index.js' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | code: ./code 41 | triggers: 42 | - triggerName: httpTrigger 43 | triggerType: http 44 | triggerConfig: 45 | authType: anonymous 46 | methods: 47 | - GET 48 | - POST 49 | - PUT 50 | - DELETE 51 | - HEAD 52 | - OPTIONS 53 | -------------------------------------------------------------------------------- /start-mcp-brave-search/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-brave-search: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | BRAVE_API_KEY: '{{ BRAVE_API_KEY }}' 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - 'node dist/index.js' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | code: ./code 41 | triggers: 42 | - triggerName: httpTrigger 43 | triggerType: http 44 | triggerConfig: 45 | authType: anonymous 46 | methods: 47 | - GET 48 | - POST 49 | - PUT 50 | - DELETE 51 | - HEAD 52 | - OPTIONS 53 | -------------------------------------------------------------------------------- /start-mcp-ever-art/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-ever-art 4 | Version: 0.0.4 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: EverArt MCP Server 8 | HomePage: https://github.com/modelcontextprotocol/servers.git 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | - EVERART_API_KEY 27 | properties: 28 | region: 29 | title: 地域 30 | type: string 31 | default: cn-hangzhou 32 | description: 创建应用所在的地区 33 | enum: 34 | - cn-beijing 35 | - cn-hangzhou 36 | - cn-shanghai 37 | - cn-shenzhen 38 | - ap-southeast-1 39 | functionName: 40 | title: 函数名 41 | type: string 42 | default: mcp-server-${default-suffix} 43 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 44 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 45 | EVERART_API_KEY: 46 | title: EVERART_API_KEY 47 | type: string 48 | default: '' 49 | sensitive: 'true' 50 | pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_\-.]*$ 51 | description: EverArt's API Key, 从 https://www.everart.ai/api 获取 API Key 52 | -------------------------------------------------------------------------------- /start-mcp-everything/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-everything: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 60 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | layers: 26 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 27 | customRuntimeConfig: 28 | command: 29 | - 'supergateway' 30 | - '--stdio' 31 | - 'node dist/index.js' 32 | - '--port' 33 | - '8080' 34 | - '--ssePath' 35 | - '/sse' 36 | - '--messagePath' 37 | - '/message' 38 | port: 8080 39 | code: ./code 40 | concurrencyConfig: 41 | reservedConcurrency: 1 42 | triggers: 43 | - triggerName: httpTrigger 44 | triggerType: http 45 | triggerConfig: 46 | authType: anonymous 47 | methods: 48 | - GET 49 | - POST 50 | - PUT 51 | - DELETE 52 | - HEAD 53 | - OPTIONS 54 | -------------------------------------------------------------------------------- /start-mcp-amap-maps/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-amap-maps 4 | Version: 0.0.9 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: MCP Server for the AMap Map API 8 | HomePage: https://github.com/devsapp/mcp-servers/tree/main/start-mcp-amap-maps 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | - AMAP_MAPS_API_KEY 27 | properties: 28 | region: 29 | title: 地域 30 | type: string 31 | default: cn-hangzhou 32 | description: 创建应用所在的地区 33 | enum: 34 | - cn-beijing 35 | - cn-hangzhou 36 | - cn-shanghai 37 | - cn-shenzhen 38 | - ap-southeast-1 39 | functionName: 40 | title: 函数名 41 | type: string 42 | default: mcp-server-${default-suffix} 43 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 44 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 45 | AMAP_MAPS_API_KEY: 46 | title: AMAP_MAPS_API_KEY 47 | type: string 48 | default: '' 49 | sensitive: 'true' 50 | description: 获取高德地图 AMap Maps API key,请参考 https://lbs.amap.com/api/webservice/create-project-and-key. 51 | -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-nodejs-baidu-map: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | BAIDU_MAP_API_KEY: '{{ BAIDU_MAP_API_KEY }}' 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - 'node dist/index.js' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | code: ./code 41 | triggers: 42 | - triggerName: httpTrigger 43 | triggerType: http 44 | triggerConfig: 45 | authType: anonymous 46 | methods: 47 | - GET 48 | - POST 49 | - PUT 50 | - DELETE 51 | - HEAD 52 | - OPTIONS 53 | -------------------------------------------------------------------------------- /start-mcp-github/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-github: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | GITHUB_PERSONAL_ACCESS_TOKEN: '{{ GITHUB_PERSONAL_ACCESS_TOKEN }}' 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - 'node dist/index.js' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | code: ./code 41 | triggers: 42 | - triggerName: httpTrigger 43 | triggerType: http 44 | triggerConfig: 45 | authType: anonymous 46 | methods: 47 | - GET 48 | - POST 49 | - PUT 50 | - DELETE 51 | - HEAD 52 | - OPTIONS 53 | -------------------------------------------------------------------------------- /start-mcp-nodejs-baidu-map/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-nodejs-baidu-map 4 | Version: 0.0.6 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: 百度地图 MCP Server 模版 8 | HomePage: https://github.com/baidu-maps/mcp.git 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | - BAIDU_MAP_API_KEY 27 | properties: 28 | region: 29 | title: 地域 30 | type: string 31 | default: cn-hangzhou 32 | description: 创建应用所在的地区 33 | enum: 34 | - cn-beijing 35 | - cn-hangzhou 36 | - cn-shanghai 37 | - cn-shenzhen 38 | - ap-southeast-1 39 | functionName: 40 | title: 函数名 41 | type: string 42 | default: mcp-server-${default-suffix} 43 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 44 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 45 | BAIDU_MAP_API_KEY: 46 | title: BAIDU_MAP_API_KEY 47 | type: string 48 | default: '' 49 | sensitive: 'true' 50 | pattern: ^[a-zA-Z_][a-zA-Z0-9_\-\.]*$ 51 | description: 获取百度地图 API_KEY, 请参考 https://lbsyun.baidu.com/faq/search?id=299&title=677 52 | -------------------------------------------------------------------------------- /start-mcp-chatppt/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: hello-world-app 3 | access: "{{ access }}" 4 | 5 | vars: # 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-chatppt: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: "mcp server deployed by devs" 15 | runtime: custom.debian10 16 | code: ./code 17 | handler: index.handler 18 | timeout: 300 19 | instanceConcurrency: 200 20 | cpu: 1 21 | memorySize: 2048 22 | diskSize: 512 23 | logConfig: auto 24 | environmentVariables: 25 | PATH: 26 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 27 | PYTHONPATH: /code:/code/python:/opt/python 28 | API_KEY: "{{ API_KEY }}" 29 | layers: 30 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 31 | customRuntimeConfig: 32 | command: 33 | - 'supergateway' 34 | - '--stdio' 35 | - 'python3 ppt.py' 36 | - '--port' 37 | - '8080' 38 | - '--ssePath' 39 | - '/sse' 40 | - '--messagePath' 41 | - '/message' 42 | port: 8080 43 | triggers: 44 | - triggerName: httpTrigger 45 | triggerType: http 46 | triggerConfig: 47 | authType: anonymous 48 | methods: 49 | - GET 50 | - POST 51 | - PUT 52 | - DELETE 53 | - HEAD 54 | - OPTIONS -------------------------------------------------------------------------------- /start-mcp-openweather/src/code/weather_server/utils.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Mr.Car 3 | Date: 2025-03-21 14:28:32 4 | ''' 5 | import pinyin 6 | from typing import Dict 7 | 8 | class CityNameConverter: 9 | """City name converter for handling Chinese and English city names 10 | 11 | 城市名称转换器""" 12 | 13 | def __init__(self): 14 | """Initialize basic city mapping 15 | 16 | 初始化基础城市映射""" 17 | self._city_map: Dict[str, str] = { 18 | "苏州": "suzhou", 19 | "北京": "beijing", 20 | "上海": "shanghai", 21 | "广州": "guangzhou", 22 | "深圳": "shenzhen", 23 | } 24 | 25 | def to_english(self, city: str) -> str: 26 | """ 27 | Convert city name to English 28 | 29 | Args: 30 | city: City name (Chinese or English) 31 | 32 | Returns: 33 | str: English city name 34 | 35 | 将城市名转换为英文 36 | 37 | Args: 38 | city: 城市名称(中文或英文) 39 | 40 | Returns: 41 | str: 英文城市名 42 | """ 43 | # 如果已经在映射表中,直接返回 44 | if city in self._city_map: 45 | return self._city_map[city] 46 | 47 | # 如果输入是英文,直接返回 48 | if all(ord(c) < 128 for c in city): 49 | return city.lower() 50 | 51 | # 尝试转换为拼音(去掉声调和空格) 52 | try: 53 | # 移除特殊字符 54 | city = ''.join(c for c in city if c.isalnum() or c.isspace()) 55 | py = pinyin.get(city, format="strip") 56 | return py.lower().replace(" ", "") 57 | except Exception: 58 | # 如果转换失败,返回原始输入 59 | return city -------------------------------------------------------------------------------- /start-mcp-time/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: hello-world-app 3 | access: "{{ access }}" 4 | 5 | vars: # 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-time: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: "mcp server deployed by devs" 15 | runtime: custom.debian10 16 | code: ./code 17 | handler: index.handler 18 | timeout: 300 19 | instanceConcurrency: 200 20 | cpu: 1 21 | memorySize: 2048 22 | diskSize: 512 23 | logConfig: auto 24 | environmentVariables: 25 | PATH: 26 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 27 | PYTHONPATH: /code:/code/python:/opt/python 28 | TZ: "{{ TZ }}" 29 | layers: 30 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 31 | customRuntimeConfig: 32 | command: 33 | - 'supergateway' 34 | - '--stdio' 35 | - 'mcp-server-time --local-timezone=$TZ' 36 | - '--port' 37 | - '8080' 38 | - '--ssePath' 39 | - '/sse' 40 | - '--messagePath' 41 | - '/message' 42 | port: 8080 43 | triggers: 44 | - triggerName: httpTrigger 45 | triggerType: http 46 | triggerConfig: 47 | authType: anonymous 48 | methods: 49 | - GET 50 | - POST 51 | - PUT 52 | - DELETE 53 | - HEAD 54 | - OPTIONS -------------------------------------------------------------------------------- /start-mcp-json/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-json: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - '/code/node_modules/.bin/server-json-mcp' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | code: ./code 41 | concurrencyConfig: 42 | reservedConcurrency: 1 43 | triggers: 44 | - triggerName: httpTrigger 45 | triggerType: http 46 | triggerConfig: 47 | authType: anonymous 48 | methods: 49 | - GET 50 | - POST 51 | - PUT 52 | - DELETE 53 | - HEAD 54 | - OPTIONS 55 | -------------------------------------------------------------------------------- /start-mcp-quickchart/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-quickchart: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - '/code/node_modules/.bin/quickchart-mcp-server' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | code: ./code 41 | concurrencyConfig: 42 | reservedConcurrency: 1 43 | triggers: 44 | - triggerName: httpTrigger 45 | triggerType: http 46 | triggerConfig: 47 | authType: anonymous 48 | methods: 49 | - GET 50 | - POST 51 | - PUT 52 | - DELETE 53 | - HEAD 54 | - OPTIONS 55 | -------------------------------------------------------------------------------- /start-mcp-gitlab/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-gitlab: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 24 | PYTHONPATH: /code:/code/python:/opt/python 25 | GITLAB_PERSONAL_ACCESS_TOKEN: '{{ GITLAB_PERSONAL_ACCESS_TOKEN }}' 26 | GITLAB_API_URL: '{{ GITLAB_API_URL }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - 'node dist/index.js' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | triggers: 43 | - triggerName: httpTrigger 44 | triggerType: http 45 | triggerConfig: 46 | authType: anonymous 47 | methods: 48 | - GET 49 | - POST 50 | - PUT 51 | - DELETE 52 | - HEAD 53 | - OPTIONS 54 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-nodejs 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | resources: 7 | start-mcp-java-hello-world: 8 | component: fc3 9 | actions: 10 | pre-deploy: 11 | - run: mvn clean install -DskipTests 12 | path: ./code 13 | props: 14 | region: ${vars.region} 15 | description: Serverless Devs Java MCP Server 16 | runtime: custom.debian10 17 | timeout: 300 18 | cpu: 1 19 | memorySize: 2048 20 | diskSize: 512 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/opt/java21/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin 25 | JAVA_HOME: /opt/java21 26 | PYTHONPATH: /code:/code/python:/opt/python 27 | layers: 28 | - acs:fc:${vars.region}:official:layers/Java21/versions/1 29 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 30 | customRuntimeConfig: 31 | command: 32 | - ./bootstrap 33 | port: 8080 34 | functionName: '{{functionName}}' 35 | code: ./code 36 | instanceConcurrency: 200 37 | concurrencyConfig: 38 | reservedConcurrency: 1 39 | triggers: 40 | - triggerName: httpTrigger 41 | triggerType: http 42 | triggerConfig: 43 | authType: anonymous 44 | methods: 45 | - GET 46 | - POST 47 | - PUT 48 | - DELETE 49 | - HEAD 50 | - OPTIONS 51 | -------------------------------------------------------------------------------- /start-mcp-amap-maps/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-amap-maps: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | AMAP_MAPS_API_KEY: '{{ AMAP_MAPS_API_KEY }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - 'node index.js' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-brave-search/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-brave-search 4 | Version: 0.0.4 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Brave Search MCP Server 8 | HomePage: https://github.com/modelcontextprotocol/servers.git 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | - BRAVE_API_KEY 27 | properties: 28 | region: 29 | title: 地域 30 | type: string 31 | default: cn-hangzhou 32 | description: 创建应用所在的地区 33 | enum: 34 | - cn-beijing 35 | - cn-hangzhou 36 | - cn-shanghai 37 | - cn-shenzhen 38 | - ap-southeast-1 39 | functionName: 40 | title: 函数名 41 | type: string 42 | default: mcp-server-${default-suffix} 43 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 44 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 45 | BRAVE_API_KEY: 46 | title: BRAVE_API_KEY 47 | type: string 48 | default: '' 49 | sensitive: 'true' 50 | pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_\-.]*$ 51 | description: Brave Search API KEY, 请参考 52 | https://github.com/modelcontextprotocol/servers/tree/main/src/brave-search#getting-an-api-key 53 | -------------------------------------------------------------------------------- /start-mcp-openweather/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: hello-world-app 3 | access: "{{ access }}" 4 | 5 | vars: # 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-openweather: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: "mcp server deployed by devs" 15 | runtime: custom.debian10 16 | code: ./code 17 | handler: index.handler 18 | timeout: 300 19 | instanceConcurrency: 200 20 | cpu: 1 21 | memorySize: 2048 22 | diskSize: 512 23 | logConfig: auto 24 | environmentVariables: 25 | PATH: 26 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 27 | PYTHONPATH: /code:/code/python:/opt/python 28 | OPENWEATHERMAP_API_KEY: "{{ OPENWEATHERMAP_API_KEY }}" 29 | layers: 30 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 31 | customRuntimeConfig: 32 | command: 33 | - 'supergateway' 34 | - '--stdio' 35 | - 'python3 -m weather_server.server' 36 | - '--port' 37 | - '8080' 38 | - '--ssePath' 39 | - '/sse' 40 | - '--messagePath' 41 | - '/message' 42 | port: 8080 43 | triggers: 44 | - triggerName: httpTrigger 45 | triggerType: http 46 | triggerConfig: 47 | authType: anonymous 48 | methods: 49 | - GET 50 | - POST 51 | - PUT 52 | - DELETE 53 | - HEAD 54 | - OPTIONS -------------------------------------------------------------------------------- /start-mcp-financial-datasets/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: hello-world-app 3 | access: "{{ access }}" 4 | 5 | vars: # 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-financial-datasets: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: "mcp server deployed by devs" 15 | runtime: custom.debian10 16 | code: ./code 17 | handler: index.handler 18 | timeout: 300 19 | instanceConcurrency: 200 20 | cpu: 1 21 | memorySize: 2048 22 | diskSize: 512 23 | logConfig: auto 24 | environmentVariables: 25 | PATH: 26 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 27 | PYTHONPATH: /code:/code/python:/opt/python 28 | FINANCIAL_DATASETS_API_KEY: "{{ FINANCIAL_DATASETS_API_KEY }}" 29 | layers: 30 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 31 | customRuntimeConfig: 32 | command: 33 | - 'supergateway' 34 | - '--stdio' 35 | - 'python3 server.py' 36 | - '--port' 37 | - '8080' 38 | - '--ssePath' 39 | - '/sse' 40 | - '--messagePath' 41 | - '/message' 42 | port: 8080 43 | triggers: 44 | - triggerName: httpTrigger 45 | triggerType: http 46 | triggerConfig: 47 | authType: anonymous 48 | methods: 49 | - GET 50 | - POST 51 | - PUT 52 | - DELETE 53 | - HEAD 54 | - OPTIONS -------------------------------------------------------------------------------- /start-mcp-flomo/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-flomo: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | FLOMO_API_URL: '{{ FLOMO_API_URL }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - '/code/node_modules/.bin/mcp-server-flomo' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-agentql/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-agentql: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | AGENTQL_API_KEY: '{{ AGENTQL_API_KEY }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - '/code/node_modules/.bin/agentql-mcp' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-notion/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-notion: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | NOTION_API_TOKEN: '{{ NOTION_API_TOKEN }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - '/code/node_modules/.bin/mcp-notion-server' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-firecrawl/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-firecrawl: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | FIRECRAWL_API_KEY: '{{ FIRECRAWL_API_KEY }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - '/code/node_modules/.bin/firecrawl-mcp' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-github/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-github 4 | Version: 0.0.4 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: GitHub MCP Server 8 | HomePage: https://github.com/modelcontextprotocol/servers.git 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | - GITHUB_PERSONAL_ACCESS_TOKEN 27 | properties: 28 | region: 29 | title: 地域 30 | type: string 31 | default: cn-hangzhou 32 | description: 创建应用所在的地区 33 | enum: 34 | - cn-beijing 35 | - cn-hangzhou 36 | - cn-shanghai 37 | - cn-shenzhen 38 | - ap-southeast-1 39 | functionName: 40 | title: 函数名 41 | type: string 42 | default: mcp-server-${default-suffix} 43 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 44 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 45 | GITHUB_PERSONAL_ACCESS_TOKEN: 46 | title: GITHUB_PERSONAL_ACCESS_TOKEN 47 | type: string 48 | default: '' 49 | sensitive: 'true' 50 | pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_\-.]*$ 51 | description: Github Personal Access Token, 请参考 52 | https://github.com/modelcontextprotocol/servers/tree/main/src/github#personal-access-token 53 | -------------------------------------------------------------------------------- /start-mcp-perplexity-ask/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-perplexity-ask: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | PERPLEXITY_API_KEY: '{{ PERPLEXITY_API_KEY }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - '/code/node_modules/.bin/mcp-server-perplexity-ask' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-figma/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: mcp-server-app 3 | access: "{{ access }}" 4 | 5 | vars: 6 | region: "{{ region }}" 7 | 8 | resources: 9 | start-mcp-figma: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: mcp server deployed by devs 15 | runtime: custom.debian10 16 | timeout: 300 17 | cpu: 1 18 | memorySize: 2048 19 | diskSize: 512 20 | instanceConcurrency: 200 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | FIGMA_API_KEY: '{{ FIGMA_API_KEY }}' 27 | layers: 28 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 29 | customRuntimeConfig: 30 | command: 31 | - 'supergateway' 32 | - '--stdio' 33 | - '/code/node_modules/.bin/figma-developer-mcp --figma-api-key=$FIGMA_API_KEY --stdio' 34 | - '--port' 35 | - '8080' 36 | - '--ssePath' 37 | - '/sse' 38 | - '--messagePath' 39 | - '/message' 40 | port: 8080 41 | code: ./code 42 | concurrencyConfig: 43 | reservedConcurrency: 1 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS 56 | -------------------------------------------------------------------------------- /start-mcp-server-aliyun-observability/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: hello-world-app 3 | access: "{{ access }}" 4 | 5 | vars: # 6 | region: "{{ region }}" 7 | 8 | resources: 9 | mcp-server-aliyun-observability: 10 | component: fc3 11 | props: 12 | region: ${vars.region} 13 | functionName: "{{ functionName }}" 14 | description: "mcp server deployed by devs" 15 | runtime: custom.debian10 16 | code: ./code 17 | handler: index.handler 18 | timeout: 300 19 | instanceConcurrency: 200 20 | cpu: 1 21 | memorySize: 2048 22 | diskSize: 512 23 | logConfig: auto 24 | environmentVariables: 25 | PATH: 26 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 27 | PYTHONPATH: /code:/code/python:/opt/python 28 | layers: 29 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 30 | customRuntimeConfig: 31 | command: 32 | - 'python3' 33 | - '-m' 34 | - 'mcp_server_aliyun_observability' 35 | - '--transport' 36 | - 'sse' 37 | - '--transport-port' 38 | - '8080' 39 | - '--access-key-id' 40 | - '${self.AccessKeyID}' 41 | - '--access-key-secret' 42 | - '${self.AccessKeySecret}' 43 | port: 8080 44 | triggers: 45 | - triggerName: httpTrigger 46 | triggerType: http 47 | triggerConfig: 48 | authType: anonymous 49 | methods: 50 | - GET 51 | - POST 52 | - PUT 53 | - DELETE 54 | - HEAD 55 | - OPTIONS -------------------------------------------------------------------------------- /start-mcp-java-hello-world-sse/src/code/src/test/java/org/springframework/ai/mcp/sample/client/ClientStdio.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2024 - 2024 the original author or authors. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * https://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package org.springframework.ai.mcp.sample.client; 17 | 18 | import java.io.File; 19 | 20 | import io.modelcontextprotocol.client.transport.ServerParameters; 21 | import io.modelcontextprotocol.client.transport.StdioClientTransport; 22 | 23 | /** 24 | * With stdio transport, the MCP server is automatically started by the client. 25 | * But you 26 | * have to build the server jar first: 27 | * 28 | *
29 |  * ./mvnw clean install -DskipTests
30 |  * 
31 | */ 32 | public class ClientStdio { 33 | 34 | public static void main(String[] args) { 35 | 36 | System.out.println(new File(".").getAbsolutePath()); 37 | 38 | var stdioParams = ServerParameters.builder("java") 39 | .args("-Dspring.ai.mcp.server.stdio=true", "-Dspring.main.web-application-type=none", 40 | "-Dlogging.pattern.console=", "-jar", 41 | "model-context-protocol/weather/starter-webmvc-server/target/mcp-weather-starter-webmvc-server-0.0.1-SNAPSHOT.jar") 42 | .build(); 43 | 44 | var transport = new StdioClientTransport(stdioParams); 45 | 46 | new SampleClient(transport).run(); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-python 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | path: /var/fc/lang/python3.10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin:/opt/bin:/code:/code/bin 7 | resources: 8 | start-mcp-python-hello-world: 9 | component: fc3 10 | actions: 11 | pre-deploy: 12 | - run: python3 -c "import os; os.makedirs('python', exist_ok=True)" 13 | path: ./code 14 | - run: pip install -r requirements.txt -t ./python 15 | path: ./code 16 | props: 17 | region: ${vars.region} 18 | description: Serverless Devs Python MCP Server 19 | runtime: custom.debian10 20 | timeout: 300 21 | cpu: 0.5 22 | memorySize: 512 23 | diskSize: 512 24 | layers: 25 | - acs:fc:${vars.region}:official:layers/Python3x-MCP/versions/3 26 | logConfig: auto 27 | environmentVariables: 28 | PATH: ${vars.path} 29 | PYTHONPATH: /code:/code/python:/opt/python 30 | TZ: Asia/Shanghai 31 | customRuntimeConfig: 32 | port: 8080 33 | command: 34 | - python3 35 | - -m 36 | - uvicorn 37 | - main:app 38 | - --host 39 | - '0.0.0.0' 40 | - --port 41 | - '8080' 42 | functionName: '{{functionName}}' 43 | code: ./code 44 | instanceConcurrency: 200 45 | concurrencyConfig: 46 | reservedConcurrency: 1 47 | triggers: 48 | - triggerName: httpTrigger 49 | triggerType: http 50 | triggerConfig: 51 | authType: anonymous 52 | methods: 53 | - GET 54 | - POST 55 | - PUT 56 | - DELETE 57 | - HEAD 58 | - OPTIONS 59 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-nodejs 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | resources: 7 | mcp_server_nodejs_hello_world: 8 | component: fc3 9 | actions: 10 | pre-deploy: 11 | - run: export PATH=/usr/local/versions/node/v20.8.1/bin:$PATH || true || ver && npm install && node check_node_version.mjs && npm run build 12 | path: ./code 13 | props: 14 | region: ${vars.region} 15 | description: Serverless Devs Node MCP Server 16 | runtime: custom.debian10 17 | timeout: 300 18 | cpu: 1 19 | memorySize: 2048 20 | diskSize: 512 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 25 | PYTHONPATH: /code:/code/python:/opt/python 26 | layers: 27 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 28 | customRuntimeConfig: 29 | command: 30 | - 'supergateway' 31 | - '--stdio' 32 | - 'node ./dist/index.js' 33 | - '--port' 34 | - '8080' 35 | - '--ssePath' 36 | - '/sse' 37 | - '--messagePath' 38 | - '/message' 39 | port: 8080 40 | functionName: '{{functionName}}' 41 | code: ./code 42 | instanceConcurrency: 200 43 | concurrencyConfig: 44 | reservedConcurrency: 1 45 | triggers: 46 | - triggerName: httpTrigger 47 | triggerType: http 48 | triggerConfig: 49 | authType: anonymous 50 | methods: 51 | - GET 52 | - POST 53 | - PUT 54 | - DELETE 55 | - HEAD 56 | - OPTIONS 57 | -------------------------------------------------------------------------------- /start-mcp-java-hello-world/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-nodejs 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | resources: 7 | start-mcp-java-hello-world: 8 | component: fc3 9 | actions: 10 | pre-deploy: 11 | - run: mvn clean install -DskipTests 12 | path: ./code 13 | props: 14 | region: ${vars.region} 15 | description: Serverless Devs Java MCP Server 16 | runtime: custom.debian10 17 | timeout: 300 18 | cpu: 1 19 | memorySize: 2048 20 | diskSize: 512 21 | logConfig: auto 22 | environmentVariables: 23 | PATH: 24 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/opt/java21/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin 25 | JAVA_HOME: /opt/java21 26 | PYTHONPATH: /code:/code/python:/opt/python 27 | layers: 28 | - acs:fc:${vars.region}:official:layers/Java21/versions/1 29 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 30 | customRuntimeConfig: 31 | command: 32 | - 'supergateway' 33 | - '--stdio' 34 | - './bootstrap' 35 | - '--port' 36 | - '8080' 37 | - '--ssePath' 38 | - '/sse' 39 | - '--messagePath' 40 | - '/message' 41 | port: 8080 42 | functionName: '{{functionName}}' 43 | code: ./code 44 | instanceConcurrency: 200 45 | concurrencyConfig: 46 | reservedConcurrency: 1 47 | triggers: 48 | - triggerName: httpTrigger 49 | triggerType: http 50 | triggerConfig: 51 | authType: anonymous 52 | methods: 53 | - GET 54 | - POST 55 | - PUT 56 | - DELETE 57 | - HEAD 58 | - OPTIONS 59 | -------------------------------------------------------------------------------- /start-mcp-gitlab/publish.yaml: -------------------------------------------------------------------------------- 1 | Edition: 3.0.0 2 | Type: Project 3 | Name: start-mcp-gitlab 4 | Version: 0.0.3 5 | Provider: 6 | - 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 7 | Description: Gitlab MCP Server 模版 8 | HomePage: https://github.com/modelcontextprotocol/servers.git 9 | Tags: #标签详情 10 | - MCP 11 | - Serverless Devs 12 | - Develop-Fold 13 | Category: AI工具 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 14 | Service: # 使用的服务 15 | 函数计算: # 取值内容参考:https://api.devsapp.cn/v3/common/args.html 16 | Authorities: #权限描述 17 | - AliyunFCFullAccess # 所需要的权限,例如AliyunFCFullAccess 18 | Organization: 阿里云函数计算(FC) # 所属组织 19 | Effective: Public # 是否公开,取值:Public,Private,Organization 20 | Parameters: 21 | type: object 22 | additionalProperties: false # 不允许增加其他属性 23 | required: # 必填项 24 | - region 25 | - functionName 26 | - GITLAB_PERSONAL_ACCESS_TOKEN 27 | - GITLAB_API_URL 28 | properties: 29 | region: 30 | title: 地域 31 | type: string 32 | default: cn-hangzhou 33 | description: 创建应用所在的地区 34 | enum: 35 | - cn-beijing 36 | - cn-hangzhou 37 | - cn-shanghai 38 | - cn-shenzhen 39 | - ap-southeast-1 40 | functionName: 41 | title: 函数名 42 | type: string 43 | default: mcp-server-${default-suffix} 44 | pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" 45 | description: 应用的函数名称, 只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间 46 | GITLAB_PERSONAL_ACCESS_TOKEN: 47 | title: GITLAB_PERSONAL_ACCESS_TOKEN 48 | type: string 49 | default: '' 50 | sensitive: 'true' 51 | pattern: ^[a-zA-Z0-9_][a-zA-Z0-9_\-.]*$ 52 | description: Access Token, 请参考 https://github.com/modelcontextprotocol/servers/tree/main/src/gitlab#personal-access-token 53 | GITLAB_API_URL: 54 | title: GITLAB_API_URL 55 | type: string 56 | default: 'https://gitlab.com/api/v4' 57 | description: Gitlab API URL , 默认为 https://gitlab.com/api/v4, 可以填自建gitlab服务 API URL 58 | -------------------------------------------------------------------------------- /start-mcp-openweather/src/code/weather_server/models.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Mr.Car 3 | Date: 2025-03-21 14:28:32 4 | ''' 5 | from dataclasses import dataclass 6 | from typing import List 7 | 8 | @dataclass 9 | class WeatherData: 10 | """Real-time weather data model 11 | 12 | 实时天气数据模型""" 13 | description: str 14 | temperature: float 15 | humidity: int 16 | wind_speed: float 17 | city: str 18 | 19 | def format_message(self) -> str: 20 | """Format weather information message 21 | 22 | 格式化天气信息消息""" 23 | return f"当前{self.city}的天气:{self.description},温度{self.temperature}°C,湿度{self.humidity}%,风速{self.wind_speed}米/秒" 24 | 25 | @dataclass 26 | class ForecastData: 27 | """Weather forecast data model 28 | 29 | 天气预报数据模型""" 30 | date: str 31 | description: str 32 | temp_min: float 33 | temp_max: float 34 | humidity: int 35 | wind_speed: float 36 | city: str 37 | 38 | def format_message(self) -> str: 39 | """Format weather forecast message 40 | 41 | 格式化天气预报消息""" 42 | return f"{self.date} {self.city}的天气预报:{self.description},温度{self.temp_min}°C至{self.temp_max}°C,湿度{self.humidity}%,风速{self.wind_speed}米/秒" 43 | 44 | @dataclass 45 | class WeatherForecast: 46 | """Weather forecast collection 47 | 48 | 天气预报集合""" 49 | forecasts: List[ForecastData] 50 | 51 | def to_dict(self) -> dict: 52 | """Convert to dictionary format 53 | 54 | 转换为字典格式""" 55 | return { 56 | "forecasts": [ 57 | { 58 | "date": forecast.date, 59 | "description": forecast.description, 60 | "temp_min": forecast.temp_min, 61 | "temp_max": forecast.temp_max, 62 | "humidity": forecast.humidity, 63 | "wind_speed": forecast.wind_speed, 64 | "city": forecast.city 65 | } for forecast in self.forecasts 66 | ] 67 | } -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-python-hello-world-stdio 帮助文档 5 | 6 | 7 | 8 | 基于 Python 的 FC MCP STDIO Server 案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-python-hello-world-stdio) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-python-hello-world-stdio) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 基于 FastMCP 构建的 Serverless MCP STDIO 服务端应用 56 | 57 | ## 功能特性 58 | 59 | - 提供示例工具端点 `hello` 返回 "Hello World!" 60 | - 支持阿里云函数计算部署 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | ## 使用流程 71 | 72 | 73 | 74 | ### 部署 75 | 76 | 点击“一键部署”按钮即可。默认使用了 `supergateway` 进行 SSE 代理,可使用支持 SSE 的 Client 进行连接。 77 | 78 | 79 | 80 | ## 二次开发指南 81 | 82 | 83 | 84 | ### 环境要求 85 | 86 | - Python ≥3.10 87 | - pip 包管理工具 88 | 89 | ### 安装依赖 90 | 91 | ```bash 92 | pip install -r requirements.txt 93 | ``` 94 | 95 | ### 本地运行 96 | 97 | ```bash 98 | python3 main.py 99 | ``` 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-python-hello-world-stdio 帮助文档 5 | 6 | 7 | 8 | 基于 Python 的 FC MCP STDIO Server 案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-python-hello-world-stdio) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-python-hello-world-stdio) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 基于 FastMCP 构建的 Serverless MCP STDIO 服务端应用 56 | 57 | ## 功能特性 58 | 59 | - 提供示例工具端点 `hello` 返回 "Hello World!" 60 | - 支持阿里云函数计算部署 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | ## 使用流程 71 | 72 | 73 | 74 | ### 部署 75 | 76 | 点击“一键部署”按钮即可。默认使用了 `supergateway` 进行 SSE 代理,可使用支持 SSE 的 Client 进行连接。 77 | 78 | 79 | 80 | ## 二次开发指南 81 | 82 | 83 | 84 | ### 环境要求 85 | 86 | - Python ≥3.10 87 | - pip 包管理工具 88 | 89 | ### 安装依赖 90 | 91 | ```bash 92 | pip install -r requirements.txt 93 | ``` 94 | 95 | ### 本地运行 96 | 97 | ```bash 98 | python3 main.py 99 | ``` 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /start-mcp-ever-art/src/code/README.md: -------------------------------------------------------------------------------- 1 | # EverArt MCP Server 2 | 3 | Image generation server for Claude Desktop using EverArt's API. 4 | 5 | ## Install 6 | ```bash 7 | npm install 8 | export EVERART_API_KEY=your_key_here 9 | ``` 10 | 11 | ## Config 12 | Add to Claude Desktop config: 13 | 14 | ### Docker 15 | ```json 16 | { 17 | "mcpServers": { 18 | "everart": { 19 | "command": "docker", 20 | "args": ["run", "-i", "--rm", "-e", "EVERART_API_KEY", "mcp/everart"], 21 | "env": { 22 | "EVERART_API_KEY": "your_key_here" 23 | } 24 | } 25 | } 26 | } 27 | ``` 28 | 29 | ### NPX 30 | 31 | ```json 32 | { 33 | "mcpServers": { 34 | "everart": { 35 | "command": "npx", 36 | "args": ["-y", "@modelcontextprotocol/server-everart"], 37 | "env": { 38 | "EVERART_API_KEY": "your_key_here" 39 | } 40 | } 41 | } 42 | } 43 | ``` 44 | 45 | ## Tools 46 | 47 | ### generate_image 48 | Generates images with multiple model options. Opens result in browser and returns URL. 49 | 50 | Parameters: 51 | ```typescript 52 | { 53 | prompt: string, // Image description 54 | model?: string, // Model ID (default: "207910310772879360") 55 | image_count?: number // Number of images (default: 1) 56 | } 57 | ``` 58 | 59 | Models: 60 | - 5000: FLUX1.1 (standard) 61 | - 9000: FLUX1.1-ultra 62 | - 6000: SD3.5 63 | - 7000: Recraft-Real 64 | - 8000: Recraft-Vector 65 | 66 | All images generated at 1024x1024. 67 | 68 | Sample usage: 69 | ```javascript 70 | const result = await client.callTool({ 71 | name: "generate_image", 72 | arguments: { 73 | prompt: "A cat sitting elegantly", 74 | model: "7000", 75 | image_count: 1 76 | } 77 | }); 78 | ``` 79 | 80 | Response format: 81 | ``` 82 | Image generated successfully! 83 | The image has been opened in your default browser. 84 | 85 | Generation details: 86 | - Model: 7000 87 | - Prompt: "A cat sitting elegantly" 88 | - Image URL: https://storage.googleapis.com/... 89 | 90 | You can also click the URL above to view the image again. 91 | ``` 92 | 93 | ## Building w/ Docker 94 | 95 | ```sh 96 | docker build -t mcp/everart -f src/everart/Dockerfile . 97 | ``` 98 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world-stdio/src/s.yaml: -------------------------------------------------------------------------------- 1 | edition: 3.0.0 2 | name: start-mcp-server-python 3 | access: '{{access}}' 4 | vars: 5 | region: '{{region}}' 6 | path: /var/fc/lang/python3.10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin:/opt/bin:/code:/code/bin 7 | resources: 8 | start-mcp-python-hello-world: 9 | component: fc3 10 | actions: 11 | pre-deploy: 12 | - run: python3 -c "import os; os.makedirs('python', exist_ok=True)" 13 | path: ./code 14 | - run: pip install -r requirements.txt -t ./python 15 | path: ./code 16 | props: 17 | region: ${vars.region} 18 | description: Serverless Devs Python MCP Server 19 | runtime: custom.debian10 20 | timeout: 300 21 | cpu: 1 22 | memorySize: 2048 23 | diskSize: 512 24 | layers: 25 | - acs:fc:${vars.region}:official:layers/Python3x-MCP/versions/3 26 | - acs:fc:${vars.region}:1767215449378635:layers/mcp-proxy-layer/versions/6 27 | logConfig: auto 28 | environmentVariables: 29 | PATH: 30 | /opt/nodejs/node_modules/.bin:/opt/python/bin:/code/python/bin:/var/fc/lang/python3.10/bin:/var/fc/lang/nodejs20/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 31 | PYTHONPATH: /code:/code/python:/opt/python 32 | TZ: Asia/Shanghai 33 | customRuntimeConfig: 34 | port: 8080 35 | command: 36 | - 'supergateway' 37 | - '--stdio' 38 | - 'python3 main.py' 39 | - '--port' 40 | - '8080' 41 | - '--ssePath' 42 | - '/sse' 43 | - '--messagePath' 44 | - '/message' 45 | functionName: '{{functionName}}' 46 | code: ./code 47 | instanceConcurrency: 200 48 | concurrencyConfig: 49 | reservedConcurrency: 1 50 | triggers: 51 | - triggerName: httpTrigger 52 | triggerType: http 53 | triggerConfig: 54 | authType: anonymous 55 | methods: 56 | - GET 57 | - POST 58 | - PUT 59 | - DELETE 60 | - HEAD 61 | - OPTIONS 62 | -------------------------------------------------------------------------------- /start-mcp-amap-maps/README.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-amap-maps 帮助文档 5 | 6 | 7 | 8 | MCP Server for the AMap Map API 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-amap-maps) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-amap-maps) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | # AMap Map MCP Server 56 | 57 | MCP Server for the AMap Map API. 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | ## 使用流程 70 | 71 | 72 | 73 | ## Setup 74 | 75 | ### API Key 76 | Get a AMap Maps API key: 77 | https://lbs.amap.com/api/webservice/create-project-and-key. 78 | 79 | ### NPX 80 | 81 | ```json 82 | { 83 | "mcpServers": { 84 | "amap-maps": { 85 | "command": "npx", 86 | "args": [ 87 | "-y", 88 | "@amap/amap-maps-mcp-server" 89 | ], 90 | "env": { 91 | "AMAP_MAPS_API_KEY": "" 92 | } 93 | } 94 | } 95 | } 96 | ``` 97 | 98 | 99 | 100 | ## 二次开发指南 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /start-mcp-amap-maps/src/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-amap-maps 帮助文档 5 | 6 | 7 | 8 | MCP Server for the AMap Map API 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-amap-maps) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-amap-maps) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | # AMap Map MCP Server 56 | 57 | MCP Server for the AMap Map API. 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | ## 使用流程 70 | 71 | 72 | 73 | ## Setup 74 | 75 | ### API Key 76 | Get a AMap Maps API key: 77 | https://lbs.amap.com/api/webservice/create-project-and-key. 78 | 79 | ### NPX 80 | 81 | ```json 82 | { 83 | "mcpServers": { 84 | "amap-maps": { 85 | "command": "npx", 86 | "args": [ 87 | "-y", 88 | "@amap/amap-maps-mcp-server" 89 | ], 90 | "env": { 91 | "AMAP_MAPS_API_KEY": "" 92 | } 93 | } 94 | } 95 | } 96 | ``` 97 | 98 | 99 | 100 | ## 二次开发指南 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-nodejs-hello-world 帮助文档 5 | 6 | 7 | 8 | FC MCP SSE Server案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 这是一个部署到 FC 的 MCP SSE Server 的 hello world 样例。您可以通过这个模版初始化一个简单的、开箱即用的、可进行二次开发的 MCP SSE Server。 56 | 57 | 此样例包含一个名为 `hello_world` 的 Tool,定义为: 58 | 59 | ```javascript 60 | server.tool( 61 | "hello_world", 62 | "Return string 'hello world!'", 63 | { 64 | // Define input parameters using zod. example: 65 | // prefix: z.string().describe('prefix').optional(), 66 | }, 67 | async () => { 68 | return { 69 | content: [{ 70 | type: "text", 71 | text: 'hello world!', 72 | }] 73 | } 74 | }, 75 | ); 76 | 77 | ``` 78 | 79 | 您可基于此样例 Tool 进行二次开发。 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | ## 使用流程 90 | 91 | 92 | 93 | 部署完成拿到 URL 后,准备好支持 SSE 的 MCP Client,通过 SSETransport 进行连接。 94 | 95 | 96 | 97 | ## 二次开发指南 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-server-python 帮助文档 5 | 6 | 7 | 8 | 基于 Python 的FC MCP SSE Server案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-server-python) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-server-python) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 基于 FastMCP 和 Starlette 构建的 Serverless 服务端事件(SSE)应用 56 | 57 | ## 功能特性 58 | 59 | - 使用 FastMCP 框架实现 SSE 协议支持 60 | - 集成 Starlette 高性能 ASGI 服务器 61 | - 提供示例工具端点 `hello` 返回 "Hello World!" 62 | - 支持阿里云函数计算部署 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | ## 使用流程 73 | 74 | 75 | 76 | ### 调试 77 | 部署完成后,取得触发器 URL,即可使用任意支持 SSE 的 MCP Client 进行调试。您也可以使用 MCP 官方的调试器进行测试: 78 | 79 | ```bash 80 | npx @modelcontextprotocol/inspector node build/index.js 81 | ``` 82 | 83 | 注意:填写 URL 时,需加上 `/sse` 后缀。 84 | 85 | 86 | 87 | 88 | ## 二次开发指南 89 | 90 | 91 | 92 | ### 环境要求 93 | 94 | - Python ≥3.10 95 | - pip 包管理工具 96 | 97 | ### 安装依赖 98 | 99 | ```bash 100 | pip install -r requirements.txt 101 | ``` 102 | 103 | ### 本地运行 104 | 105 | ```bash 106 | uvicorn main:app --host 0.0.0.0 --port 9000 107 | ``` 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world/src/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-nodejs-hello-world 帮助文档 5 | 6 | 7 | 8 | FC MCP SSE Server案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 这是一个部署到 FC 的 MCP SSE Server 的 hello world 样例。您可以通过这个模版初始化一个简单的、开箱即用的、可进行二次开发的 MCP SSE Server。 56 | 57 | 此样例包含一个名为 `hello_world` 的 Tool,定义为: 58 | 59 | ```javascript 60 | server.tool( 61 | "hello_world", 62 | "Return string 'hello world!'", 63 | { 64 | // Define input parameters using zod. example: 65 | // prefix: z.string().describe('prefix').optional(), 66 | }, 67 | async () => { 68 | return { 69 | content: [{ 70 | type: "text", 71 | text: 'hello world!', 72 | }] 73 | } 74 | }, 75 | ); 76 | 77 | ``` 78 | 79 | 您可基于此样例 Tool 进行二次开发。 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | ## 使用流程 90 | 91 | 92 | 93 | 部署完成拿到 URL 后,准备好支持 SSE 的 MCP Client,通过 SSETransport 进行连接。 94 | 95 | 96 | 97 | ## 二次开发指南 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /start-mcp-python-hello-world/src/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-server-python 帮助文档 5 | 6 | 7 | 8 | 基于 Python 的FC MCP SSE Server案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-server-python) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-server-python) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 基于 FastMCP 和 Starlette 构建的 Serverless 服务端事件(SSE)应用 56 | 57 | ## 功能特性 58 | 59 | - 使用 FastMCP 框架实现 SSE 协议支持 60 | - 集成 Starlette 高性能 ASGI 服务器 61 | - 提供示例工具端点 `hello` 返回 "Hello World!" 62 | - 支持阿里云函数计算部署 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | ## 使用流程 73 | 74 | 75 | 76 | ### 调试 77 | 部署完成后,取得触发器 URL,即可使用任意支持 SSE 的 MCP Client 进行调试。您也可以使用 MCP 官方的调试器进行测试: 78 | 79 | ```bash 80 | npx @modelcontextprotocol/inspector node build/index.js 81 | ``` 82 | 83 | 注意:填写 URL 时,需加上 `/sse` 后缀。 84 | 85 | 86 | 87 | 88 | ## 二次开发指南 89 | 90 | 91 | 92 | ### 环境要求 93 | 94 | - Python ≥3.10 95 | - pip 包管理工具 96 | 97 | ### 安装依赖 98 | 99 | ```bash 100 | pip install -r requirements.txt 101 | ``` 102 | 103 | ### 本地运行 104 | 105 | ```bash 106 | uvicorn main:app --host 0.0.0.0 --port 9000 107 | ``` 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-nodejs-hello-world-stdio 帮助文档 5 | 6 | 7 | 8 | 基于 Node 的 FC MCP STDIO Server 案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world-stdio) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world-stdio) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 这是一个部署到 FC 的 MCP STDIO Server 的 hello world 样例。您可以通过这个模版初始化一个简单的、开箱即用的、可进行二次开发的 MCP SSE Server。 56 | 57 | 此样例包含一个名为 `hello_world` 的 Tool,定义为: 58 | 59 | ```javascript 60 | server.tool( 61 | "hello_world", 62 | "Return string 'hello world!'", 63 | { 64 | // Define input parameters using zod. example: 65 | // prefix: z.string().describe('prefix').optional(), 66 | }, 67 | async () => { 68 | return { 69 | content: [{ 70 | type: "text", 71 | text: 'hello world!', 72 | }] 73 | } 74 | }, 75 | ); 76 | 77 | ``` 78 | 79 | 您可基于此样例 Tool 进行二次开发。 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | ## 使用流程 90 | 91 | 92 | 93 | 部署完成拿到 URL 后,准备好支持 SSE 的 MCP Client,通过 SSETransport 进行连接。 94 | 95 | 96 | 97 | ## 二次开发指南 98 | 99 | 100 | 101 | 您可基于此样例 Tool 进行二次开发。 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /start-mcp-nodejs-hello-world-stdio/src/readme.md: -------------------------------------------------------------------------------- 1 | 2 | > 注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、函数名等等),所以**不推荐**直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,**强烈推荐**通过 `s init ${模版名称}` 的方法或应用中心进行初始化,详情可参考[部署 & 体验](#部署--体验) 。 3 | 4 | # start-mcp-nodejs-hello-world-stdio 帮助文档 5 | 6 | 7 | 8 | 基于 Node 的 FC MCP STDIO Server 案例 9 | 10 | 11 | 12 | 13 | ## 资源准备 14 | 15 | 使用该项目,您需要有开通以下服务并拥有对应权限: 16 | 17 | 18 | 19 | 20 | 21 | | 服务/业务 | 权限 | 相关文档 | 22 | | --- | --- | --- | 23 | | 函数计算 | AliyunFCFullAccess | [帮助文档](https://help.aliyun.com/product/2508973.html) [计费文档](https://help.aliyun.com/document_detail/2512928.html) | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ## 部署 & 体验 40 | 41 | 42 | 43 | - :fire: 通过 [云原生应用开发平台 CAP](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world-stdio) ,[![Deploy with Severless Devs](https://img.alicdn.com/imgextra/i1/O1CN01w5RFbX1v45s8TIXPz_!!6000000006118-55-tps-95-28.svg)](https://cap.console.aliyun.com/template-detail?template=start-mcp-nodejs-hello-world-stdio) 该应用。 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | ## 案例介绍 52 | 53 | 54 | 55 | 这是一个部署到 FC 的 MCP STDIO Server 的 hello world 样例。您可以通过这个模版初始化一个简单的、开箱即用的、可进行二次开发的 MCP SSE Server。 56 | 57 | 此样例包含一个名为 `hello_world` 的 Tool,定义为: 58 | 59 | ```javascript 60 | server.tool( 61 | "hello_world", 62 | "Return string 'hello world!'", 63 | { 64 | // Define input parameters using zod. example: 65 | // prefix: z.string().describe('prefix').optional(), 66 | }, 67 | async () => { 68 | return { 69 | content: [{ 70 | type: "text", 71 | text: 'hello world!', 72 | }] 73 | } 74 | }, 75 | ); 76 | 77 | ``` 78 | 79 | 您可基于此样例 Tool 进行二次开发。 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | ## 使用流程 90 | 91 | 92 | 93 | 部署完成拿到 URL 后,准备好支持 SSE 的 MCP Client,通过 SSETransport 进行连接。 94 | 95 | 96 | 97 | ## 二次开发指南 98 | 99 | 100 | 101 | 您可基于此样例 Tool 进行二次开发。 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | --------------------------------------------------------------------------------