mermaid-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., "@mermaid-mcpsay hello to Alice"
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.
MCP Server Básico
Servidor Model Context Protocol (MCP) de exemplo, escrito em TypeScript e Node.js, usando o SDK oficial @modelcontextprotocol/sdk.
📖 Nunca usou MCP? Siga o Guia de Uso passo a passo — do zero até usar no Claude Desktop, sem precisar saber programar.
Capacidades
Tipo | Nome | Descrição |
Tool |
| Recebe |
Resource |
|
|
Prompt |
| Recebe |
Related MCP server: FastMCP Demo
Estrutura do projeto
mermaid MCP/
├── src/
│ ├── index.ts # Ponto de entrada: cria o servidor e conecta via stdio
│ ├── tools/
│ │ └── hello.ts # Tool "hello"
│ ├── resources/
│ │ └── info.ts # Resource "info" (resource://info)
│ └── prompts/
│ └── assistant.ts # Prompt "assistant"
├── package.json
├── tsconfig.json
└── README.mdArquitetura
graph TD
Claude["Cliente Claude<br/>(Claude Desktop)"]
Server["MCP Server<br/>(index.ts — stdio / JSON-RPC 2.0)"]
Tools["Tools<br/>(src/tools/)"]
Resources["Resources<br/>(src/resources/)"]
Prompts["Prompts<br/>(src/prompts/)"]
Hello["hello<br/>name → 'Olá, name!'"]
Info["info<br/>resource://info"]
Assistant["assistant<br/>topic → prompt de sistema"]
Claude -- "tools/call" --> Server
Claude -- "resources/read" --> Server
Claude -- "prompts/get" --> Server
Server --> Tools
Server --> Resources
Server --> Prompts
Tools --> Hello
Resources --> Info
Prompts --> Assistant
Hello -. "resposta (content)" .-> Server
Info -. "resposta (contents)" .-> Server
Assistant -. "resposta (messages)" .-> Server
Server -. "resultado JSON-RPC" .-> ClaudeFluxo de uma chamada de Tool
sequenceDiagram
participant Claude as Cliente Claude
participant Server as MCP Server
participant Tool as Tool "hello"
Claude->>Server: initialize
Server-->>Claude: capabilities (tools, resources, prompts)
Claude->>Server: notifications/initialized
Claude->>Server: tools/call { name: "hello", arguments: { name: "Maria" } }
Server->>Tool: valida input (Zod) e executa handler
Tool-->>Server: { content: [{ type: "text", text: "Olá, Maria!" }] }
Server-->>Claude: resposta JSON-RPC com o resultadoRequisitos
Node.js 18 ou superior
Instalação
npm installDesenvolvimento
Executa direto do TypeScript, sem compilar (via tsx):
npm run devBuild e execução
npm run build # compila TypeScript para ./build
npm start # executa node build/index.jsO servidor se comunica por stdio (stdin/stdout com JSON-RPC 2.0). Ele não abre porta HTTP — quem o inicia é o cliente MCP (ex.: Claude Desktop).
Testando manualmente
Com o MCP Inspector:
npx @modelcontextprotocol/inspector node build/index.jsConectando ao Claude Desktop
Compile o projeto:
npm run buildAbra o arquivo de configuração do Claude Desktop:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Adicione o servidor (ajuste o caminho absoluto):
{
"mcpServers": {
"mcp-server-basico": {
"command": "node",
"args": [
"C:\\CAMINHO\\ATE\\O\\PROJETO\\mermaid-mcp\\build\\index.js"
]
}
}
}Reinicie o Claude Desktop. O servidor aparecerá no menu de ferramentas (ícone 🔌 / "Search and tools").
Depois disso você pode pedir, por exemplo: "Use a tool hello com o nome Maria".
Adicionando novas Tools
Crie um arquivo em
src/tools/, exportando uma funçãoregisterXxxTool(server).Dentro dela, chame
server.registerTool(nome, config, handler).Importe e chame a função em
src/index.ts.Rode
npm run builde reinicie o cliente MCP.
Available Tools
1 toolhelloHelloA
Recebe um nome e retorna uma saudação personalizada.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nome da pessoa a ser saudada |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the input and output, but does not disclose any behavioral traits such as side effects, authentication requirements, or rate limits. For a simple tool, this is minimally acceptable.
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 a single concise sentence in Portuguese (14 words). It is front-loaded with the core function and contains no unnecessary 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?
For a simple tool with one parameter and no output schema, the description is mostly complete. It could optionally mention the output format (e.g., 'returns a string greeting'), but the current description suffices.
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% (the 'name' parameter is described in the schema). The tool description does not add additional parameter semantics beyond what the schema already provides, so a baseline score of 3 is appropriate.
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 that it receives a name and returns a personalized greeting. It uses a specific verb+resource structure ('Recebe um nome e retorna uma saudação') and is unambiguous.
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 does not explicitly state when to use this tool vs alternatives. However, there are no sibling tools, so the lack of alternative guidance is acceptable. The context is clear.
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.
1 tool update
v1.0.0- First observed
hello
TDQS
Only one tool exists, so there is no risk of confusion or overlapping purposes.
With a single tool, naming consistency is inherently perfect.
A server named 'mermaid-mcp' with just one trivial greeting tool is an extreme mismatch between scope and tool count.
The tool set is severely incomplete for the implied domain of mermaid diagram generation or manipulation, as it only offers a greeting function.
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
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA minimal demonstration server showcasing MCP protocol capabilities including tools, resources, and prompts with basic examples like hello world functionality.2MIT
- FlicenseBqualityDmaintenanceA demonstration TypeScript MCP server that showcases basic MCP concepts with simple tools (greeting, calculator), text resources, and prompt templates for learning the Model Context Protocol.2-
- AlicenseNot gradedqualityDmaintenanceA simple demonstration MCP server that provides a basic 'say_hello' tool for greeting users by name, serving as a template for building MCP servers with TypeScript.131ISC
- AlicenseNot gradedqualityDmaintenanceA minimal template MCP server demonstrating basic tools, resources, and prompts functionality. Includes example implementations like a hello tool, history resource, and greet prompt for learning MCP development.2ISC
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/won3er/basic-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server