Skip to main content
Glama
Merlin21x

Basic MCP Server

by Merlin21x

MCP Básico para GitHub Copilot

Este proyecto implementa un servidor básico Model Context Protocol (MCP) en TypeScript, siguiendo las mejores prácticas y la especificación oficial. Está diseñado para ser utilizado y depurado con GitHub Copilot y otros clientes MCP compatibles.

Recursos útiles

Related MCP server: MCP Server TypeScript Template

Estructura mínima

  • Servidor MCP básico en TypeScript

  • Configuración para stdio (recomendado para integración local con VS Code y Copilot)

  • Archivos de configuración para VS Code y MCP

Pasos para iniciar

  1. Instala Node.js 16+ y npm.

  2. Instala las dependencias:

    npm install @modelcontextprotocol/sdk zod
    npm install -D typescript @types/node
  3. Compila el servidor:

    npx tsc
  4. Ejecuta el servidor MCP:

    node build/index.js
  5. Configura tu cliente MCP (por ejemplo, Claude Desktop, VS Code Copilot) para conectar con este servidor usando stdio.

Seguridad y mejores prácticas

  • No escribas en stdout desde el servidor, solo usa stderr para logs.

  • Consulta la guía de seguridad MCP para detalles sobre autenticación y autorización.


Este proyecto es un punto de partida. Personalízalo según tus necesidades y consulta la documentación oficial para aprovechar todo el potencial de MCP.

Available Tools

1 tool
hello_worldC

Devuelve un saludo básico.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool returns a greeting, without mentioning any traits like whether it's read-only, has side effects, requires authentication, or handles errors. This leaves significant gaps in understanding the tool's behavior beyond its basic function.

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

Conciseness4/5

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

The description is a single, efficient sentence in Spanish: 'Devuelve un saludo básico.' It is front-loaded with the core action and resource, with no wasted words. However, it could be slightly more specific (e.g., clarifying 'basic'), but overall, it is appropriately concise for a simple 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?

Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks details on behavior, output format, or usage context. For such a simple tool, this might be sufficient, but it doesn't provide a complete picture, especially without annotations or output schema to fill in gaps.

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

Parameters4/5

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

The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description does not need to add parameter semantics, and it appropriately avoids mentioning any. This meets the baseline for tools with no parameters, as it doesn't mislead or omit necessary information.

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

Purpose3/5

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

The description 'Devuelve un saludo básico' (Returns a basic greeting) states the tool's purpose in Spanish, which is clear but vague. It specifies the verb 'returns' and the resource 'a basic greeting', but lacks details about what constitutes 'basic' or the format of the greeting. Since there are no sibling tools, differentiation is not required, but the purpose remains somewhat general.

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?

The description provides no guidance on when to use this tool, such as in what contexts or scenarios it is appropriate. There are no alternatives mentioned, and with no sibling tools, this is less critical, but it still lacks any usage context or exclusions, leaving the agent without direction.

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

TDQS

B3/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool 'hello_world' has a single, clear purpose that cannot be mistaken for any other functionality.

Naming Consistency5/5

The single tool name 'hello_world' follows a common snake_case pattern, and since there is only one tool, consistency is inherently perfect. There are no other tools to compare against, so no inconsistencies can arise.

Tool Count2/5

A single tool is too few for most practical server purposes, as it severely limits functionality and scope. While it might be appropriate for a minimal demo, it feels thin and inadequate for any real-world application or domain coverage.

Completeness1/5

The server's purpose is unclear from the single tool, but for any inferred domain (e.g., greetings or basic interactions), the surface is severely incomplete. With only a 'hello_world' tool, there are obvious gaps in operations like customization, querying, or other related actions, making it impossible to perform meaningful workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

  • A
    license
    D
    quality
    D
    maintenance
    A minimal Model Context Protocol server in TypeScript that demonstrates MCP-compliant resources and tools for LLMs, featuring simple resources and a basic tool that echoes messages or returns greetings.
    1
    5
    Apache 2.0
  • 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.
  • A
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript-based test implementation for the Model Context Protocol (MCP) with example configurations and Jest test cases. Provides a development foundation for building and testing MCP server functionality.
    10
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    A 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

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/Merlin21x/MCPInitial'

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