mcp-first-server
Click on "Deploy 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., "@mcp-first-serverAdd 5 and 7"
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-first-server
Primer servidor MCP (Model Context Protocol) en TypeScript, siguiendo la actividad First Server del MCP Workshop.
Expone dos capacidades sobre transporte stdio:
Tipo | Nombre | Descripción |
Tool |
| Suma dos números ( |
Resource |
| Devuelve |
Requisitos
Node.js 18+ (probado con v25)
npm
Related MCP server: Python MCP Server
Instalación
npm install
npm run buildProbarlo con el Inspector
npm run inspectorAbre la interfaz web del MCP Inspector, donde puedes listar y ejecutar la tool add
y leer el resource greeting://{name}.
Probarlo desde la terminal
Sin inspector, hablando JSON-RPC directo por stdio:
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"0"}}}\n{"jsonrpc":"2.0","method":"notifications/initialized"}\n{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"add","arguments":{"a":2,"b":3}}}\n{"jsonrpc":"2.0","id":3,"method":"resources/read","params":{"uri":"greeting://Mundo"}}\n' | node build/index.jsSalida esperada (entre otras líneas):
{"result":{"content":[{"type":"text","text":"5"}]},"jsonrpc":"2.0","id":2}
{"result":{"contents":[{"uri":"greeting://Mundo","text":"Hello, Mundo!"}]},"jsonrpc":"2.0","id":3}Conectarlo a un cliente MCP
Ejemplo de configuración (Claude Desktop, VS Code, etc.):
{
"mcpServers": {
"demo": {
"command": "node",
"args": ["/ruta/absoluta/a/mcp-first-server/build/index.js"]
}
}
}Estructura
src/index.ts código del servidor
tsconfig.json compila src/ -> build/
build/ salida compilada (no versionada)Available Tools
1 tooladdD
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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?
Tool has no description.
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 tool update
v1.0.0- First observed
add
TDQS
Scored across 1 tool
With only one tool, there is no risk of confusing it with another tool. The tool is uniquely identifiable even without a description.
A single tool named 'add' introduces no naming conflicts or mixed conventions. Consistency is trivially maintained.
A server exposing exactly one tool with no description is an extreme mismatch—there is no meaningful tool surface to serve a coherent purpose.
The tool 'add' without a description or supporting tools provides no discernible domain coverage. The surface is severely incomplete and effectively useless for real tasks.
Maintenance
Related MCP Connectors
POC MCP server. Tool say_hello returns 'Welcome' (agent -> MCP -> API path).
Getting Things Done (GTD) board for AI agents: capture to Inbox, next actions by context, projects, waiting-for, someday/maybe. Remote Streamable HTTP server with OAuth 2.1 login (passwordless email code). 16 tools + 4 prompts. Setup guide: https://gtdbrain.com/connect?source=glama
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceDemonstrates core MCP server functionality with basic arithmetic operations (addition and subtraction) and personalized greeting generation. Serves as an educational template implementing example tools and dynamic resources for MCP server development with Python.-
- FlicenseNot gradedqualityCmaintenanceExposes basic arithmetic and greeting tools, a queue status resource, and a queue analysis prompt, demonstrating MCP server-client interaction over stdio.-
- FlicenseNot gradedqualityCmaintenanceEnables arithmetic addition, personalized greetings, version lookup, and text summarization through MCP tools, a resource, and a prompt.-
- AlicenseBqualityCmaintenanceEnables arithmetic operations, mock weather lookups, and in-memory note management with tools, a resource, and a summarization prompt over stdio.432 npmMIT