shellserver
shellserver
Небольшой сервер Model Context Protocol (MCP), созданный с помощью Python MCP SDK (FastMCP). Он предоставляет один инструмент, который запускает команды оболочки на машине, где выполняется процесс сервера.
Требования
Python 3.14+ (см.
pyproject.toml)uv для установки и запуска зависимостей
Related MCP server: Shell MCP Server
Настройка
Клонируйте или скопируйте этот репозиторий, затем из корня проекта:
uv syncЗапуск сервера
Сервер использует транспорт stdio (по умолчанию для FastMCP).
uv run python server.pyНе передавайте дополнительные данные в stdout из процесса сервера; MCP использует stdout для JSON-RPC. Логирование в server.py направляется в stderr.
Инструмент: terminal_tool
Параметр | Тип | Обязательный | По умолчанию | Описание |
| string | да | — | Команда оболочки для выполнения |
| string | нет | — | Рабочая директория для подпроцесса |
| number | нет |
| Секунды ожидания перед завершением процесса |
Инструмент возвращает один текстовый блок, содержащий exit_code, stdout и stderr. Если команда превышает время ожидания, процесс завершается, и ответ указывает на тайм-аут.
Подключение клиента (пример локального запуска)
Укажите вашему MCP-хосту uv, используя этот проект в качестве рабочей директории. Пример конфигурации:
{
"mcpServers": {
"shellserver": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/absolute/path/to/shellserver"
}
}
}Настройте имя ключа и cwd в соответствии с вашим редактором или клиентом.
Безопасность
Этот сервер выполняет произвольные команды оболочки на хосте. Любой, кто может вызывать инструменты MCP на этом сервере, фактически получает доступ к оболочке этой машины. Используйте только на доверенных хостах, с доверенными клиентами и с четким пониманием рисков.
Available Tools
2 toolsbenign_toolBenign ToolC
Download and return a fixed text file via curl.
| Name | Required | Description | Default |
|---|---|---|---|
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the use of curl for downloading but does not mention side effects, safety implications, or return behavior. The word 'benign' implies safety but is not explicit.
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 sentence, which is concise, but it lacks structure (e.g., separate sections for behavior, parameters). It is efficient but under-specified.
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?
Given the tool has one parameter and no annotations, the description is incomplete. It fails to explain the parameter, return value (despite an output schema existing), or usage context. A more complete description would include parameter details and behavioral notes.
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 schema has one parameter ('timeout_seconds') with 0% coverage (no description in the schema). The description does not mention this parameter at all, failing to explain its purpose or default behavior.
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 clearly states the action ('Download and return a fixed text file via curl'), with a specific verb, resource, and method. It distinguishes from the sibling 'terminal_tool' which is likely for arbitrary commands.
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 provided on when to use this tool versus alternatives. No mention of context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
terminal_toolTerminal ToolB
Run a shell command on the host and return stdout, stderr, and exit code.
The command is executed with the system shell. Use only in trusted environments.
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | ||
| cwd | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions execution via system shell and the trust requirement, implying potential dangers, but does not specify whether the tool can modify files or require special permissions.
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?
Two sentences with no wasted words, but could be better structured (e.g., separate usage notes). Front-loads the core action.
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?
Given the tool's potential for arbitrary command execution, the description is too brief. Lacks details on command escaping, side effects, or output structure beyond basic terms. The presence of an output schema does not fully compensate for missing safety and behavior details.
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?
Schema has 0% parameter description coverage. The description names only 'command' implicitly; 'cwd' and 'timeout_seconds' are not explained. Despite self-explanatory names, an agent lacks details on expected formats and defaults.
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 clearly states that tool runs a shell command and returns stdout, stderr, and exit code. However, it does not distinguish from sibling 'benign_tool', which could indicate a different purpose.
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?
Provides a safety guideline 'Use only in trusted environments', but no explicit when-to-use or when-not-to-use compared to alternatives. Lacks context on prerequisites.
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. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
benign_tool - First observed
terminal_tool
TDQS
The two tools have clearly distinct purposes: one downloads a fixed text file, the other executes shell commands. There is no ambiguity between them.
Both tool names follow a consistent adjective_noun pattern in snake_case (benign_tool, terminal_tool), making them predictable and clear.
With only 2 tools, the server feels thin for a shell execution server. While it covers the basic need, it is below the typical well-scoped range of 3-15 tools.
The core functionality of running shell commands is covered by terminal_tool. The presence of benign_tool as a fixed downloader is a minor addition; agents can work around the lack of other shell utilities like file listing.
Maintenance
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
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
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Related MCP Servers
- AlicenseAqualityAmaintenanceA secure shell command execution server implementing the Model Context Protocol (MCP). This server allows remote execution of whitelisted shell commands with support for stdin input.1191MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows LLMs to execute shell commands and receive their output in a controlled manner.7MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLM applications to safely execute shell commands with error handling and timeout settings.1-
- AlicenseAqualityAmaintenanceA Model Context Protocol server that allows LLMs to securely execute shell commands on remote Linux and Windows systems via SSH. It supports password and key-based authentication, command timeouts, and sudo elevation for administrative tasks.1114,123688MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/weezerzero/mcp-shellserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server