Skip to main content
Glama
RodrigoSaka

Meu MCP

by RodrigoSaka

Meu MCP

Servidor MCP mínimo em TypeScript, executado por stdio, para demonstrar como expor uma ferramenta a clientes compatíveis com Model Context Protocol.


Funcionalidade

O servidor disponibiliza uma ferramenta simples e validada com Zod.

  • Ferramenta: saudacao

  • Entrada obrigatória: nome

  • Saída: mensagem de saudação em texto e em formato estruturado

  • Transporte: stdio

Exemplo de entrada:

{
  "nome": "Ada"
}

Exemplo de resposta:

Olá, Ada! Bem-vindo ao meu servidor MCP.

Requisitos

Dependências necessárias para desenvolver, executar e testar o projeto.

  • Node.js 20 ou mais recente

  • npm


Instalação e compilação

Prepare as dependências e gere os arquivos JavaScript consumidos pelos clientes MCP.

npm install
npm run build

Execução local

Use o modo de desenvolvimento ao alterar o código ou execute a versão já compilada.

npm run dev
npm start

O processo fica aguardando mensagens MCP pela entrada padrão. Logs devem ser escritos em stderr, pois a saída padrão é reservada ao protocolo.


Consumir o servidor

As configurações completas foram separadas para facilitar o uso em diferentes clientes.

Consulte USAGE.md para configurar:

  • MCP Inspector

  • Codex

  • Claude Code e Claude Desktop

  • Devin

Os clientes locais iniciam o processo automaticamente. Não mantenha npm start aberto quando o cliente já estiver configurado para executar o servidor.


Estrutura do projeto

Arquivos principais responsáveis pelo servidor, transporte e validação.

.
├── src/
│   ├── index.ts
│   └── server.ts
├── test/
│   └── server.test.ts
├── USAGE.md
├── package.json
├── tsconfig.json
└── tsconfig.test.json

Verificação

Valide os tipos, compile o projeto e execute o teste de integração.

npm run typecheck
npm run build
npm test

Available Tools

1 tool
saudacaoCriar saudaçãoA

Cria uma mensagem de saudação para uma pessoa.

ParametersJSON Schema
NameRequiredDescriptionDefault
nomeYesNome da pessoa a ser saudada

Output Schema

ParametersJSON Schema
NameRequiredDescription
mensagemYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It indicates the action is creating a greeting, but does not disclose side effects, persistence, authentication, or determinism. For a simple generation action this is acceptable but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with the key information front-loaded. No filler, redundancy, or structure issues.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter greeting tool, the description plus schema and output schema provide enough to call it correctly. It does not mention edge cases or return details, but none are essential here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so the baseline is 3. The description only restates the person target that the 'nome' parameter already documents, adding little extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Cria') and names the exact resource ('uma mensagem de saudação') plus the target ('para uma pessoa'). It clearly distinguishes the tool's single purpose despite having no sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is directly inferable: generate a greeting message for a given person. It does not explicitly discuss alternatives or exclusions, but with no sibling tools and a single parameter, contextual guidance 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.

  1. 1 tool updatev1.0.0
    • First observedsaudacao

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no possibility of overlap or ambiguity. The tool has a clear, single purpose.

Naming Consistency5/5

With only one tool named 'saudacao', there is no naming pattern to violate. The name is clear and accurately reflects its function.

Tool Count2/5

A single trivial tool is far too few for a typical MCP server, which usually exposes a broader set of related operations. Even for a greeting service, one operation feels insufficient.

Completeness3/5

The single tool covers the basic greeting use case, but there are no complementary operations (e.g., formatting variations, language selection) or obvious extensions, leaving the surface noticeably thin.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A simple MCP server that provides a basic greeting tool for saying hello with customizable names. Serves as a boilerplate template for developers to quickly create and deploy new MCP servers.
    1
    6 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A minimal learning-focused MCP server that demonstrates core primitives like tools and resources through simple greeting functions. It provides a foundational example for connecting AI models to external data using both Streamable HTTP and stdio transports.
    5 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A simple local MCP server that provides greeting and integer addition tools.
    2
    -