English | 中文
This project is the MCP Server for Alibaba Cloud Function Compute (FC) service, based on Serverless Devs and OpenAPI.
Integrate Alibaba Cloud Function Compute capabilities into agent applications that support MCP Client (such as Cursor, Claude, Cline).
- Install Node.js (version 18 or above is required).
- Prepare your Alibaba Cloud credentials (
AccessKeyId
andAccessKeySecret
). The following permissions are recommended:AdministratorAccess
(recommended for full functionality), or at minimum:AliyunFCFullAccess
(required)AliyunDevsFullAccess
(recommended)AliyunVPCFullAccess
(recommended)AliyunLogFullAccess
(recommended)AliyunEventBridgeFullAccess
(optional)
You can use the following command to start the MCP server in stdio
mode:
ALIBABA_CLOUD_ACCESS_KEY_ID=${your-access-key-id} ALIBABA_CLOUD_ACCESS_KEY_SECRET=${your-access-key-secret} npx alibabacloud-fc-mcp-server
Using Cursor [Recommended]
- Click
or edit the Cursor configuration file (doc), and add the following configuration:
"alibabacloud-fc-mcp-server": {
"command": "npx",
"args": ["-y", "alibabacloud-fc-mcp-server"],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "${your-access-key-id}",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "${your-access-key-secret}"
}
}
- Create a new empty project and open it in Cursor. Chat with Cursor in agent mode. Input the
Prompts
below to guide the conversation.
- Ask the Cursor agent to generate a 2048 game project, then ask the agent to deploy it to Alibaba Cloud Function Compute.
- Wait for the agent to generate the project and deploy it to Alibaba Cloud Function Compute.
Using Cline
Edit the Cline configuration file (doc), and add the following configuration:
"alibabacloud-fc-mcp-server": {
"command": "npx",
"args": ["-y", "alibabacloud-fc-mcp-server"],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "${your-access-key-id}",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "${your-access-key-secret}"
}
}
- First, clone the project and build it:
git clone https://github.com/alibaba/alibabacloud-fc-mcp-server.git
cd alibabacloud-fc-mcp-server
npm install
npm run build
- Then start the MCP server in
stdio
mode:
ALIBABA_CLOUD_ACCESS_KEY_ID=${your-access-key-id} ALIBABA_CLOUD_ACCESS_KEY_SECRET=${your-access-key-secret} node {absolute-path-to-project}/build/index.js
- Finally, configure the MCP server in Cursor or Cline as in Method 1.
-
put-custom-runtime-function
: Package a project that meets Alibaba Cloud custom runtime requirements, create a function, and deploy the code to that function. If the function already exists, it will attempt to overwrite and update the target function. It is recommended to check if the function exists before using this method, and confirm updates if necessary. -
update-custom-runtime-function
: Update a custom runtime function. Only the provided parameters will be updated; others remain unchanged. -
get-function
: Retrieve detailed information about a specified function. -
list-functions
: List all functions in the specified region, returning only function names and partial information. For full details, useget-function
. -
delete-function
: Delete a specified function. -
get-custom-domain-config
: Query the custom domain route configuration. -
update-custom-domain-config
: Update the custom domain route configuration. -
create-custom-domain-config
: Create a custom domain route configuration. The domain must already be CNAMEed to the public Function Compute domain (format: ${uid}.${regionId}.fc.aliyuncs.com, e.g. 14**49.cn-hangzhou.fc.aliyuncs.com), otherwise it will fail to create. -
delete-custom-domain-config
: Delete the custom domain route configuration. -
get-custom-runtime-prompt
: Get the custom runtime prompt. Will be moved to Prompts in the future.
# Role
You are a professional Alibaba Cloud Function Compute (FC) Copilot, focused on providing customers with advice on building and deploying code to Function Compute.
## Function Compute Build Constraints
- The project must be built before it can be deployed to Function Compute. For languages like Python, dependencies should be installed in ./python at the project root; for Node, dependencies should be installed in ./node_modules at the project root; for Java, use Maven or Gradle to package the project as a Jar with dependencies. This ensures runtime dependencies can be found.
- The project build must meet the Function Compute runtime constraints.
- You do not need to package the project; after building, you can directly use the MCP Server tools for deployment.
## Function Compute Runtime Constraints
- The user must expose a port to provide an HTTP service at runtime.
- The runtime environment is debian10, with Python 3.10, Node 20, and OpenJDK JRE 21 pre-installed.
- Function Compute provides specific runtime environments for Python, Node, Java, and Golang. Python 3.10 is installed at /opt/python3.10, and /opt/python3.10/bin as well as /code/python in the code package are added to the PATH environment variable by default. Node 20 is installed at /opt/nodejs20, and /opt/nodejs20/bin as well as /code/node_modules in the code package are added to the PATH by default. OpenJDK 21 is installed at /opt/java21, and /opt/java21/bin is added to the PATH by default, with JAVA_HOME set to /opt/java21. If you modify the PATH, you should include the above contents. Golang does not require a runtime environment.
## Skills
### Skill 1: Problem Decomposition and Analysis
- Able to deeply decompose user questions, clarify the core requirements and possible steps or commands involved.
- Provide clear task breakdown steps to ensure each step leads to the final solution.
- Organize answers in tabular form whenever possible.
### Skill 2: alibabacloud-fc-mcp-server MCP Tool Usage
- Proficient in using the alibabacloud-fc-mcp-server MCP tools to obtain function information or perform related operations.
- Task decomposition must be completed before tool invocation, ensuring the logic is clear and meets customer needs.
- Select the appropriate MCP module based on the user's specific problem, such as creating or updating custom runtime functions.
## Constraints
- **Task Decomposition First**: Detailed task breakdown steps must be provided first.
- **Clear Tool Dependency**: All operations requiring MCP tool invocation should be based on clear task requirements and logical reasoning.
- **Code Generation and Build**: Code must be built locally before being deployed and run on Function Compute. Code generation and build must meet the Function Compute build and runtime constraints.
This project is licensed under the MIT License. See the LICENSE file for details.
本项目基于 MIT License 开源。详情参见 LICENSE 文件。