Background Process Management MCP Server
Enables AI agents to efficiently manage and monitor background processes, with features like process startup, termination, log retrieval, and resource management.
README
Background Process Management MCP Server
A Model Context Protocol (MCP) server for managing background processes with AI agents.
Overview
This MCP server enables AI agents to efficiently manage and monitor background processes. It provides comprehensive functionality for process startup, termination, log retrieval, and resource management with a unified time-series log system.
Features
- Process Management: Start, stop, and restart background processes
- Unified Log Management: Real-time log capture with chronological ordering across stdout/stderr
- Resource Management: Configurable limits for concurrent processes and log storage
- MCP Compliant: Full Model Context Protocol implementation
- Type Safety: Complete TypeScript support with Zod schema validation
- Production Ready: Designed for reliability and performance
Quick Start
Using with npx (Recommended)
# Run the MCP server directly
npx @mizunashi_mana/manage-bg-mcp
# With options
npx @mizunashi_mana/manage-bg-mcp --help
npx @mizunashi_mana/manage-bg-mcp --version
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop MCP configuration:
{
"mcpServers": {
"background-process-manager": {
"command": "npx",
"args": ["@mizunashi_mana/manage-bg-mcp"]
}
}
}
Other MCP Clients
For any MCP client that supports stdio transport:
# Command: npx
# Args: ["@mizunashi_mana/manage-bg-mcp"]
# Transport: stdio
Programmatic Usage
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { spawn } from 'child_process';
const transport = new StdioClientTransport({
command: 'npx',
args: ['@mizunashi_mana/manage-bg-mcp']
});
Installation for Development
# Clone and install for development
git clone <repository-url>
cd manage-bg-mcp
npm install
npm run build
Environment Variables
NODE_ENV: Execution environment (production, development, test)LOG_LEVEL: Logging level (error, warn, info, debug)
MCP Tools
Available Tools
| Tool Name | Description | Parameters |
|---|---|---|
start |
Start a background process | command, args?, name?, cwd?, env? |
stop |
Stop a running process | processId |
restart |
Restart an existing process | processId |
list |
List all managed processes | - |
get_info |
Get detailed process information | processId |
get_logs |
Retrieve process logs | processId, lines? |
stop_all |
Stop all running processes | - |
Usage Examples
Once configured with your MCP client, you can use these tools:
// Start a Node.js server
const startResult = await client.callTool('start', {
command: 'node',
args: ['server.js'],
cwd: '/path/to/project',
name: 'web-server'
});
// List all processes
const processes = await client.callTool('list', {});
// Get recent logs (last 50 lines)
const logs = await client.callTool('get_logs', {
processId: 'process-uuid',
lines: 50
});
// Stop a specific process
await client.callTool('stop', {
processId: 'process-uuid'
});
Log Response Format
The get_logs tool returns unified chronological logs:
{
"success": true,
"processId": "process-uuid",
"logs": {
"stdout": ["Output line 1", "Output line 2"],
"stderr": ["Error line 1"],
"lastUpdated": "2024-01-01T12:00:00.000Z",
"totalLines": 3
}
}
Resource Limits
Default resource limits:
- Maximum concurrent processes: 20
- Maximum log lines per process: 200
- Process termination timeout: 5 seconds
Architecture
The server uses a modern dependency injection architecture with unified log management:
- Unified Log Management: Time-series log storage combining stdout/stderr chronologically
- Dependency Injection: Inversify-based service container for clean separation of concerns
- Type Safety: Full TypeScript with Zod schema validation
- MCP Compliance: Complete implementation of Model Context Protocol
- Configurable Logging: Environment-aware logging with test mode support
Performance
- Response time: Less than 50ms for typical operations
- Concurrent processing: Manage up to 20 processes simultaneously
- Memory efficiency: Automatic log buffer trimming
- Scalability: Handles large workloads efficiently
Troubleshooting
Common Issues
Command not found
# Make sure npx is available
npx --version
# Or install globally
npm install -g @mizunashi_mana/manage-bg-mcp
manage-bg-mcp
Permission errors
# Run with explicit npm registry
npx --registry https://registry.npmjs.org @mizunashi_mana/manage-bg-mcp
Process limits The server enforces default limits:
- Maximum 20 concurrent processes
- 200 log lines per process
- 5 second termination timeout
Debugging
Enable debug logging:
NODE_ENV=development npx @mizunashi_mana/manage-bg-mcp
Contributing
Pull requests and issue reports are welcome. Please see CONTRIBUTING.md for development guidelines.
License
This project is licensed under Apache-2.0 OR MPL-2.0 dual license. You may choose either license that best suits your needs.
Support
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Ask questions and share ideas
- MCP Documentation: Model Context Protocol specification
Related Projects
- Model Context Protocol - Official MCP specification
- @modelcontextprotocol/sdk - TypeScript/JavaScript MCP SDK
- Claude Desktop - AI assistant with MCP support
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。