Skip to main content
Glama

APISIX-MCP

by api7
upstream.ts1.14 kB
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { UpdateUpstreamSchema, CreateUpstreamSchema } from "../schemas/upstream.js"; import makeAdminAPIRequest from "../utils/adminAPI.js"; const setupUpstreamTools = (server: McpServer) => { server.tool("create_upstream", "Create an upstream service with load balancing settings", CreateUpstreamSchema.shape, async (args) => { const upstreamId = args.id; if (!upstreamId) { return await makeAdminAPIRequest(`/upstreams`, "POST", args.upstream); } else { return await makeAdminAPIRequest(`/upstreams/${upstreamId}`, "PUT", args.upstream); } }); server.tool("update_upstream", "Update specific attributes of an existing upstream", UpdateUpstreamSchema.shape, async (args) => { if (!args.id) { return { content: [ { type: "text", text: JSON.stringify({ error: "Upstream ID is required for updates" }, null, 2), }, ], }; } return await makeAdminAPIRequest(`/upstreams/${args.id}`, "PATCH", args.upstream); }); }; export default setupUpstreamTools;

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/api7/apisix-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server