Skip to main content
Glama
Broflotsky

MCPServerL2

by Broflotsky

🚀 Modularer MCP-Server in TypeScript (M5L2)

Dieses Projekt implementiert eine saubere, granulare und modulare Architektur zum Erstellen von Model Context Protocol (MCP)-Servern mit TypeScript und Schemata mit Zod.


📂 Projektstruktur

M5L2/
├── src/
│   ├── schemas/
│   │   ├── sumar.schema.ts      <-- Esquema Zod e inferencia de tipos para 'sumar'
│   │   └── saludar.schema.ts    <-- Esquema Zod e inferencia de tipos para 'saludar'
│   ├── tools/
│   │   ├── sumar.tool.ts        <-- Tool aislada de suma
│   │   ├── saludar.tool.ts      <-- Tool aislada de saludo
│   │   └── index.ts             <-- Registro centralizador de Tools
│   ├── server.ts                <-- Fábrica de creación y configuración del McpServer
│   └── index.ts                 <-- Punto de entrada (Bootstrapping y Transporte STDIO)
├── dist/                        <-- Código transpilado a JavaScript (generado tras 'npm run build')
├── tsconfig.json                <-- Configuración estricta de TypeScript
├── package.json                 <-- Dependencias y scripts
└── README.md

Related MCP server: MCP Server TypeScript Template

📦 Installation

Installiere die Projektabhängigkeiten mit folgendem Befehl:

npm install

🛠️ Verfügbare Skripte

  • Kompilierung (TypeScript zu JavaScript in /dist):

    npm run build
  • Ausführen des Servers:

    • Entwicklung (TS direkt): npm run dev

    • Produktion (kompilierter Code): npm start

    💡 Hinweis: Da der Server über STDIO läuft, wartet er aktiv auf JSON-RPC-Nachrichten. Für eine visuelle Interaktion verwende den Inspector.

  • Testen mit MCP Inspector:

    npm run inspector

🧪 Wie testet man es mit MCP Inspector?

Der Inspector startet eine interaktive Weboberfläche, die über STDIO mit dem Server verbindet:

  1. Kompiliere das Projekt (falls du es noch nicht getan hast):

    npm run build
  2. Starte den Inspector:

    npm run inspector
  3. Öffne in deinem Browser die URL, die das Terminal anzeigt (z. B. http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=...), um die Tools sumar und saludar interaktiv zu testen.

Available Tools

2 tools
saludarB

Genera un saludo personalizado

ParametersJSON Schema
NameRequiredDescriptionDefault
idiomaNoIdioma del saludo (es o en)
nombreYesNombre de la persona a saludar

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of explaining behavior. It indicates a non-destructive generation operation, but it does not disclose the return format, side effects, or default behavior for the optional language parameter.

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 short sentence with no filler. It is front-loaded and appropriately sized for the simplicity of the tool.

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

Completeness3/5

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

For a simple two-parameter tool, the description is adequate but not complete. It implies the return value is a greeting, but with no output schema it does not explicitly describe the return shape, default language, or example usage.

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?

Both parameters are fully described in the input schema, so the schema already covers parameter semantics. The description adds no parameter-level detail beyond the idea of a personalized greeting, so the baseline score of 3 applies.

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

Purpose4/5

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

The description states a specific action: it generates a personalized greeting. It is clear and distinct from the sibling tool 'sumar' by domain, though it does not explicitly call out any alternative.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus other tools. The description only states what it does, without mentioning conditions, exclusions, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sumarA

Suma dos números y devuelve el resultado

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesPrimer número a sumar
bYesSegundo número a sumar

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It clearly states the core behavior: adds two numbers and returns the result. The absence of side effects is implicit in a pure arithmetic operation. Minor details like return type or error handling are not specified, but for such a simple tool this is acceptable.

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, front-loaded sentence that expresses the operation and result with no wasted words. Every part of the sentence adds value.

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?

The tool is trivial, parameters are fully described in the schema, and the description covers the return behavior at a basic level. There is no output schema, but stating that the result is returned is sufficient for a two-number addition. It could have specified that the result is a number, but that is obvious.

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?

Schema description coverage is 100%, so both parameters are already documented in the input schema ('Primer número a sumar' and 'Segundo número a sumar'). The tool description adds no additional meaning about how 'a' and 'b' are used, so the baseline of 3 applies.

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 ('suma') and resource ('dos números'), and states the outcome ('devuelve el resultado'), so an agent knows exactly what the tool does. It naturally distinguishes from the sibling 'saludar', which is a completely different domain.

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

Usage Guidelines3/5

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

The behavior implies use whenever two numbers need to be added, and the sibling tool is unrelated, but the description does not explicitly state when to use it or provide exclusion criteria. No alternatives are mentioned, so the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

Both tools have completely distinct purposes—one performs arithmetic, the other generates greetings. There is no possibility of confusion between them.

Naming Consistency5/5

Both tool names are Spanish verbs in infinitive form ('sumar', 'saludar'), following a clear and consistent pattern.

Tool Count3/5

With only two tools, the set feels minimal, but it may be appropriate for a simple demo or utility server. The count is borderline thin rather than excessive.

Completeness4/5

The server covers its apparent basic scope without dead ends: one math operation and one greeting function. Additional math operations could be considered a minor gap, but the surface is functionally usable.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A demonstration MCP server built in TypeScript that shows how to implement stdio-based communication for integration with MCP clients. Serves as a template for building custom MCP servers with strong typing and maintainability.
  • -
    license
    B
    quality
    Not graded
    maintenance
    A boilerplate project for quickly developing Model Context Protocol (MCP) servers using TypeScript SDK. Includes example tools for calculations and greetings, plus system information resources.
    3
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A production-ready TypeScript MCP server providing basic tools (add, echo, timestamp), resources (server info, greetings, data access), and prompt templates (analyze, code-review, summarize). Serves as a foundation for building custom MCP servers with extensible architecture.
    225

Latest Blog Posts

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/Broflotsky/MCPServerL2'

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