MCP Starter Server
MCP Starter Server (TypeScript)
Стартовый Model Context Protocol (MCP) сервер, написанный на Node.js / TypeScript с использованием официального @modelcontextprotocol/sdk.
Возможности
🛠️ Инструменты:
add_numbers: Складывает два числа и возвращает отформатированный результат.get_system_status: Возвращает время работы системы, платформу, версию Node и временную метку.
📄 Ресурсы:
info://welcome: Текстовый ресурс, предоставляющий приветственную информацию.config://app-settings: JSON-ресурс, предоставляющий настройки конфигурации сервера.
💡 Промпты:
code_review: Шаблон промпта для структурированных запросов на ревью кода.summarize_notes: Шаблон промпта для обобщения заметок встречи в маркированный список.
Related MCP server: MCP AI Chat LangChain
Быстрый старт
1. Установка зависимостей
npm install2. Сборка сервера
npm run buildЭто компилирует исходный код TypeScript из src/ в dist/index.js.
3. Запуск в режиме разработки
npm run dev4. Тестирование с MCP Inspector
Вы можете визуально тестировать и взаимодействовать с вашими инструментами, ресурсами и промптами с помощью официального MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.jsИнтеграция с MCP-клиентами
Конфигурация Antigravity / Claude Desktop / Cursor
Добавьте этот сервер в файл конфигурации MCP-сервера вашего клиента (например, mcp_config.json или claude_desktop_config.json):
{
"mcpServers": {
"starter-mcp-server": {
"command": "node",
"args": [
"C:/Users/naska/coding/dev/mcp-temp/dist/index.js"
]
}
}
}Структура папок
.
├── src/
│ └── index.ts # Main MCP Server implementation (Tools, Resources, Prompts)
├── dist/ # Compiled JavaScript outputs (generated on build)
├── package.json # Dependencies and build scripts
├── tsconfig.json # TypeScript compiler settings
└── README.md # DocumentationAvailable Tools
2 toolsadd_numbersA
Adds two numbers together and returns the result.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First number | |
| b | Yes | Second number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the core behavior and the fact that a result is returned, which is adequate for a pure arithmetic function. However, it says nothing about edge cases, error handling, or whether the operation is stateless — though the simplicity lessens the severity of these omissions.
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?
One sentence, ten words, zero fluff. The action verb and resource are front-loaded and every word earns its place. There is nothing extraneous.
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?
The tool is trivial in complexity, so the schema's thorough parameter docs and the description's clear operation statement are largely sufficient. Could theoretically note edge cases or the return type explicitly, but the implied number return is practically unambiguous.
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?
The input schema already provides 100% coverage, so the baseline of 3 applies. The description adds no extra meaning about the parameters beyond what the schema states — it simply confirms the operation performed on them.
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?
Names a specific verb ('adds') and resource ('two numbers') and goes beyond a mere label by stating the outcome ('returns the result'). The sibling tool get_system_status is so categorically different that there is no realistic ambiguity about which tool this is.
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 intended use is obvious for the operation being performed, but no guidance is given for distinguishing when to use this over an alternative. There is no when-to-use or when-not-to-use context — the usage is implied but never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_system_statusA
Retrieves system runtime status including Node version, OS, uptime, and timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It clearly indicates a read-only fetch behavior, which is useful, but it does not disclose whether the returned status is a plain object, whether errors or empty values are possible, or any environment-specific caveats. Given the simple nature of a status query, this is adequate but not thorough.
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, front-loaded sentence that immediately states the action and lists the relevant content. There is no filler or repetition of the tool name.
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?
With no output schema or annotations, the description provides enough grounding about the expected contents, including four concrete status fields. It stops short of describing the exact return shape or exception behavior, but for a zero-parameter status query this is a reasonable, workable definition.
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?
There are 0 parameters, so there is no parameter semantics to explain. The description compensates by enumerating the kind of data that will be returned, which helps clarify what 'status' means even without an output schema.
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 uses a specific verb ('Retrieves') and names the resource ('system runtime status') along with concrete fields: Node version, OS, uptime, and timestamp. This clearly distinguishes it from sibling add_numbers, though it does not explicitly name the sibling as an alternative.
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?
No guidance is given for when to use this tool versus alternatives or when not to use it. While the sibling 'add_numbers' is clearly unrelated, there is no explicit usage context or exclusion criteria.
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.
2 tool updates
v1.0.0- First observed
add_numbers - First observed
get_system_status
TDQS
Scored across 2 tools
add_numbers and get_system_status have completely separate purposes, so an agent would not confuse them. Each tool's name and description uniquely identify its intended action.
Both tools use a consistent verb_noun snake_case pattern: add_numbers and get_system_status. This makes the naming predictable and easy to extend.
Two tools is on the low end and feels thin for an MCP server. However, for a starter server it is defensible, so the count is borderline rather than unreasonable.
The two tools cover what a minimal starter server would likely demonstrate: a computational example and a system information example. There are no obvious missing operations given the small scope, though the surface is not broad enough for general-purpose use.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.57-
- FlicenseNot gradedqualityDmaintenanceA basic Model Context Protocol server implementation that demonstrates core functionality including tools and resources for AI chat applications.-
- AlicenseNot gradedqualityNot gradedmaintenanceA demonstration MCP server that provides calculator tools for arithmetic operations, personalized greeting resources, and code review prompt templates. Enables users to perform basic math calculations, generate dynamic greetings, and access reusable code review templates through the Model Context Protocol.MIT
- FlicenseCqualityDmaintenanceA Model Context Protocol server that provides tools for mathematical calculations and directory listing, alongside prompt templates for code reviews and explanations. It enables file system access and resource reading through stdio transport.2-