MCP Server Templates & Integration
Below are example templates for MCP servers using Sigyl. Each example includes aserver.ts (or server.js) and a matching sigyl.yaml configuration. Use these as starting points for your own projects.
Copy
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export default function createStatelessServer() {
const server = new McpServer({
name: "minimal-mcp-server",
version: "1.0.0",
});
server.tool(
"echo",
"Echo a string value",
{ value: { type: "string", description: "String to echo" } },
async ({ value }) => ({ content: [{ type: "text", text: value }] })
);
return server.server;
}
Copy
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
export default function createStatelessServer({ config }: { config: any }) {
const server = new McpServer({
name: "secure-mcp-server",
version: "1.0.0",
});
server.tool(
"reverseString",
"Reverse a string value",
{ value: z.string().describe("String to reverse") },
async ({ value }) => ({
content: [{ type: "text", text: value.split("").reverse().join("") }],
})
);
// Use config.apiKey or other secrets as needed
// Example: console.log("API Key:", config.apiKey);
return server.server;
}
Copy
const { McpServer } = require("@modelcontextprotocol/sdk/server/mcp.js");
function createStatelessServer({ config }) {
const server = new McpServer({
name: "container-mcp-server",
version: "1.0.0",
});
server.tool(
"addNumbers",
"Add two numbers",
{
a: { type: "number", description: "First number" },
b: { type: "number", description: "Second number" },
},
async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }],
})
);
return server.server;
}
module.exports = createStatelessServer;

