About Esa SDK
Esa SDK is an MCP server published by aliyun in the Developer Tools category: mCP server: Esa SDK.
The repository has 4 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/aliyun/esa-sdkThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Esa SDK
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
ESA SDK
Deploy stateless MCP Servers on ESA Edge Routine (ER).
Features
- Enables deployment of stateless MCP Servers on ESA Edge Routine.
- Simplifies integration with Model Context Protocol (MCP) for edge computing.
- Supports streamlined request handling for tools and server operations.
Installation
Install the npm:
npm install esa-sdk
Usage Example
Below is an example of a simple MCP Server implementing a basic addition calculator:
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
import { StreamableHTTPEdgeServerTransport } from "esa-sdk/mcp.js";
const server = new Server(
{
name: "example-server",
version: "1.0.0",
},
{
capabilities: {
tools: {},
},
}
);
// Define available tools
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: "calculate_sum",
description: "Add two numbers together",
inputSchema: {
type: "object",
properties: {
a: { type: "number" },
b: { type: "number" },
},
required: ["a", "b"],
},
},
],
};
});
// Handle tool execution
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "calculate_sum") {
const { a, b } = request.params.arguments;
return {
content: [
{
type: "text",
text: String(a + b),
},
],
};
}
throw new Error("Tool not found");
});
export default {
async fetch(request, ctx) {
const url = new URL(request.url);
const path = url.pathname;
if (path === "/mcp") {
const transport = new StreamableHTTPEdgeServerTransport();
await server.connect(transport);
return transport.handleRequest(request, ctx);
} else {
return new Response("Error pathname", { status: 404 });
}
},
};
Contributing
We welcome contributions from the community! Here’s how you can help:
- Examples
- Feature Suggestions
- Bug Fixes
To contribute, please fork the repository, make your changes, and submit a pull request. For major changes, open an issue first to discuss your ideas.
License
MIT License.
README fetched from the repository 7 days ago. The original is authoritative.