EdgeOne Pages MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EdgeOne Pages MCPdeploy the current project folder and give me the public URL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EdgeOne Pages MCP
An MCP service for deploying HTML content, folders, or full-stack projects to EdgeOne Pages and obtaining publicly accessible URLs.
基于原项目: 此项目基于 edgeone-pages-mcp 修改而来
Demo
Deploy HTML

Deploy Folder

Related MCP server: Self-Hosted EdgeOne Pages MCP Server
Requirements
Node.js 18 or higher
MCP Configuration
stdio MCP Server
Full-featured MCP service that supports the deploy_folder tool for deploying full-stack projects.
// Tencent Cloud International (Default)
{
"mcpServers": {
"edgeone-pages-mcp-server": {
"timeout": 600,
"command": "npx",
"args": ["@bachstudio/edgeone-pages-mcp"]
}
}
}
// Tencent Cloud China
{
"mcpServers": {
"edgeone-pages-mcp-server": {
"timeout": 600,
"command": "npx",
"args": ["@bachstudio/edgeone-pages-mcp", "--region", "china"]
}
}
}The following MCP Server will be deprecated soon:
Supports both deploy_html and deploy_folder_or_zip tools.
{
"mcpServers": {
"edgeone-pages-mcp-server": {
"command": "npx",
"args": ["@bachstudio/edgeone-pages-mcp"],
"env": {
// Optional.
// If you need to deploy folders or zip files to
// EdgeOne Pages projects, provide your EdgeOne Pages API token.
// How to obtain your API token:
// https://edgeone.ai/document/177158578324279296
"EDGEONE_PAGES_API_TOKEN": "",
// Optional. Leave empty to create a new EdgeOne Pages project.
// Provide a project name to update an existing project.
"EDGEONE_PAGES_PROJECT_NAME": ""
}
}
}
}Streaming HTTP MCP Server
For MCP clients that support HTTP streaming, only supports the deploy_html tool.
{
"mcpServers": {
"edgeone-pages-mcp-server": {
"url": "https://mcp-on-edge.edgeone.site/mcp-server"
}
}
}Tool Details
deploy_html Tool
Architecture Design
The architecture diagram shows the complete workflow of the deploy_html tool:
Large Language Model generates HTML content
Content is sent to the EdgeOne Pages MCP Server
MCP Server deploys the content to EdgeOne Pages Edge Functions
Content is stored in EdgeOne KV Store for fast edge access
MCP Server returns a publicly accessible URL
Users can access the deployed content via browser with fast edge delivery
Implementation Details
This tool integrates with EdgeOne Pages Functions to deploy static HTML content:
EdgeOne Pages Functions - A serverless computing platform that supports executing JavaScript/TypeScript code at the edge
Core Implementation Features:
Uses EdgeOne Pages KV storage to save and serve HTML content
Automatically generates publicly accessible URLs for each deployment
Provides comprehensive API error handling and feedback
How It Works:
MCP server receives HTML content through the
deploy_htmltoolConnects to EdgeOne Pages API to obtain the base URL
Deploys HTML content using the EdgeOne Pages KV API
Returns an immediately accessible public URL
For more information, refer to the EdgeOne Pages Functions documentation and EdgeOne Pages KV Storage Guide.
The source code is open source and can be self-deployed with custom domain binding: https://github.com/TencentEdgeOne/self-hosted-pages-mcp
deploy_folder Tool
This tool supports deploying complete projects to EdgeOne Pages:
Supports full deployment of static website projects
Supports deployment of full-stack applications
Option to update existing projects or create new ones
License
MIT
Available Tools
2 toolsdeploy_folder_or_zipB
Deploy a built frontend directory (or zip file) to EdgeOne Pages. Returns: the deployment URL and project metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| builtFolderPath | Yes | Provide the absolute path to the built frontend folder(or zip file) you wish to deploy. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return values (deployment URL and project metadata), which is helpful, but lacks critical details: it doesn't specify whether this is a destructive operation (e.g., overwrites existing deployments), authentication requirements, rate limits, or error conditions. For a deployment tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by return values. Every word earns its place with zero waste or redundancy. It's appropriately sized for a single-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (deployment operation), lack of annotations, and no output schema, the description is minimally adequate. It covers the purpose and return values but misses behavioral context like side effects or error handling. The 100% schema coverage helps, but for a mutation tool without annotations, more completeness would be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter 'builtFolderPath' with its description. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't clarify format expectations like supported file types or size limits). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Deploy'), the resource ('a built frontend directory (or zip file)'), and the target ('to EdgeOne Pages'). It distinguishes from the sibling 'deploy_html' by specifying it handles directories/zip files rather than HTML content. However, it doesn't explicitly contrast with the sibling, keeping it at 4 instead of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling 'deploy_html' or other alternatives. It mentions the resource type (directory/zip) but doesn't explain when this is preferred over HTML deployment or other deployment methods. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_htmlC
Deploy HTML content to EdgeOne Pages, return the public URL
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Provide the full HTML markup you wish to publish. After deployment, the system will generate and return a public URL where your content can be accessed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool returns a public URL, which is helpful, but doesn't describe important behavioral aspects like authentication requirements, rate limits, whether deployment is permanent or temporary, error conditions, or what happens to previous deployments. For a deployment tool with zero annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 8 words, front-loading the core purpose and outcome with zero wasted language. Every word earns its place in communicating essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a deployment tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'deploy' entails operationally, what EdgeOne Pages is, whether there are size limits or content restrictions, or what format the returned URL takes. For a tool that presumably creates publicly accessible content, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the single parameter. The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Deploy HTML content') and target resource ('EdgeOne Pages'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from its sibling tool 'deploy_folder_or_zip' beyond mentioning 'HTML content' versus potentially folders/ZIP files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the sibling 'deploy_folder_or_zip' or any alternatives. It states what the tool does but offers no context about appropriate use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.0.15- First observed
deploy_folder_or_zip - First observed
deploy_html
TDQS
The two tools have clearly distinct purposes: deploy_folder_or_zip handles directory or zip file deployments for built frontends, while deploy_html handles direct HTML content deployments. There is no overlap or ambiguity between them.
Both tools follow a consistent verb_noun pattern starting with 'deploy_' and clearly indicate their target (folder_or_zip vs. html). The naming is uniform and predictable throughout the set.
With only 2 tools, the server feels thin for a deployment service. It lacks essential operations like listing deployments, updating or deleting them, or managing projects, which limits agent workflows and creates dead ends.
The toolset is severely incomplete for a deployment domain. It provides create-like operations (deploy) but lacks read, update, delete, or management functions (e.g., list_deployments, get_deployment_status, delete_deployment), making it difficult for agents to handle full lifecycle tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deploy AI-generated HTML/CSS/JS to instant public HTTPS URLs from any MCP-compatible agent.
Publish a single HTML file as a live HTTPS site in seconds. Versioned deploys, no delete tool.
1Host AI-generated HTML/CSS/JS instantly. Files, zips, or clone an existing page. Live in seconds.
Publish AI-generated HTML to a live page on your own domain — from Claude, ChatGPT, or Cursor.
Related MCP Servers
AlicenseBqualityDmaintenanceA service that enables rapid deployment of HTML content to EdgeOne Pages and automatically generates publicly accessible URLs for the deployed content.2502434MIT- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to deploy and manage static websites directly on EdgeOne Pages. Provides simple one-click deployment with KV storage for hosting website files accessible through custom domains.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to deploy and manage static websites directly on EdgeOne Pages. Simple self-hosted solution with one-click deployment and KV storage for website files.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to deploy and manage static websites directly through EdgeOne Pages. It provides a self-hosted solution for hosting website files using KV storage and managing content through the Model Context Protocol.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/edgeone-pages-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server