Construtor de Servidores MCP
Crie servidores MCP prontos para produção com ferramentas, recursos, prompts e widgets interativos usando mcp-use.
Antes de Codificar
Decomponha as requisições do usuário em ferramentas, widgets e recursos. Decida o que precisa de UI vs texto.
Leia design-and-architecture.md: ao planejar o que construir, decidir entre ferramenta e widget, ou projetar fluxos de UX.
Implementação
- Ferramentas, recursos, prompts → tools-and-resources.md: ao escrever código
server.tool(),server.resource(),server.prompt()do lado do servidor - Widgets visuais (React TSX) → widgets.md: ao criar widgets de UI interativos na pasta
resources/ - API de helpers de resposta → response-helpers.md: ao escolher como formatar valores de retorno de ferramentas/recursos
- Padrões de template URI → resource-templates.md: ao definir recursos parametrizados
Referência Rápida
import {
MCPServer,
text,
object,
markdown,
html,
image,
widget,
error,
} from "mcp-use/server";
import { z } from "zod";
const server = new MCPServer({ name: "my-server", version: "1.0.0" });
// Ferramenta
server.tool(
{
name: "my-tool",
description: "...",
schema: z.object({ param: z.string().describe("...") }),
},
async ({ param }) => text("resultado"),
);
// Recurso
server.resource(
{ uri: "config://settings", name: "Configurações", mimeType: "application/json" },
async () => object({ key: "valor" }),
);
// Prompt
server.prompt(
{
name: "my-prompt",
description: "...",
schema: z.object({ topic: z.string() }),
},
async ({ topic }) => text(`Escreva sobre ${topic}`),
);
server.listen();
Helpers de resposta: text(), object(), markdown(), html(), image(), audio(), binary(), error(), mix(), widget()
Métodos do servidor: server.tool(), server.resource(), server.resourceTemplate(), server.prompt(), server.listen()