开源MCP工具 是 AI Skill Hub 本期精选MCP工具之一。综合评分 7.5 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
生产级别的代理编排工具,支持多个MCP工具
开源MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
生产级别的代理编排工具,支持多个MCP工具
开源MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/blackms/aistack
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"--mcp--": {
"command": "npx",
"args": ["-y", "aistack"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 开源MCP工具 执行以下任务... Claude: [自动调用 开源MCP工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"__mcp__": {
"command": "npx",
"args": ["-y", "aistack"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
npx @blackms/aistack memory search -q "error handling" -n "best-practices"
npx @blackms/aistack memory search -q "database" -n "architecture"
**In Claude Code**: You: "What's our pattern for API error handling?" Claude uses memory_search tool: Returns your stored pattern Claude: "Based on your team's pattern, use { success, data, error } structure" ```
npm install @blackms/aistack
npx @blackms/aistack status ```
npx @blackms/aistack export-agents --user
Store patterns as you learn: ```bash
npm install # Install dependencies
npm run build # Build TypeScript to dist/
npm test # Run all tests (unit + integration)
npm run test:unit # Unit tests only
npm run test:integration # Integration tests only
npm run test:coverage # Generate coverage report
npm run typecheck # Type check without emit
npm run lint # ESLint
You ask: "Create a login API endpoint with tests"
aistack:
1. Coder writes the endpoint
2. Tester creates and runs focused tests
3. Adversarial tries to break authentication and error paths
4. Coder fixes concrete findings
5. Reviewer gates the final patch
6. Memory stores the project pattern for future work
---
Via TypeScript:
import { createReviewLoop, getConfig } from '@blackms/aistack';
const result = await createReviewLoop(
'Create REST API for user authentication',
getConfig(),
{ maxIterations: 3 }
);
console.log(result.finalVerdict); // APPROVED or REJECTED
console.log(result.currentCode); // Reviewed code after the final iteration
console.log(result.reviews); // Concrete findings from each review round
Via REST/web API:
```bash
Generate feature with tests and docs:
import { spawnAgent, getMemoryManager, getConfig } from '@blackms/aistack';
// 1. Coder writes the feature
const coder = spawnAgent('coder', { name: 'feature-coder' });
const code = await executeTask(coder, 'Create user profile API');
// 2. Tester writes tests
const tester = spawnAgent('tester', { name: 'test-writer' });
const tests = await executeTask(tester, 'Write tests for user profile API');
// 3. Documentation agent generates docs
const docs = spawnAgent('documentation', { name: 'doc-writer' });
const documentation = await executeTask(docs, 'Document user profile API');
// 4. Store the pattern for future use
const memory = getMemoryManager(getConfig());
await memory.store('pattern:user-api', 'User API pattern with tests and docs', {
namespace: 'patterns',
metadata: { code, tests, documentation }
});
After installing the MCP server:
claude mcp add aistack -- npx @blackms/aistack mcp start
In Claude Code, you can:
"Spawn a researcher agent to analyze this codebase"
→ Uses agent_spawn tool
"Store this pattern in memory: Always validate user input"
→ Uses memory_store tool
"Search memory for authentication patterns"
→ Uses memory_search tool
"List all active agents"
→ Uses agent_list tool
Review loops are available through the TypeScript API (createReviewLoop) and REST/web API, not as MCP tools.
```bash
```bash
Create aistack.config.json in your project root:
{
"version": "1.5.3",
"providers": {
"default": "anthropic",
"anthropic": {
"apiKey": "${ANTHROPIC_API_KEY}",
"model": "claude-sonnet-4-20250514"
},
"openai": {
"apiKey": "${OPENAI_API_KEY}",
"model": "gpt-4o"
},
"ollama": {
"baseUrl": "http://localhost:11434",
"model": "llama3.2"
}
},
"memory": {
"path": "./data/aistack.db",
"vectorSearch": {
"enabled": false,
"provider": "openai"
}
},
"driftDetection": {
"enabled": false,
"threshold": 0.95,
"warningThreshold": 0.8,
"ancestorDepth": 3,
"behavior": "warn",
"asyncEmbedding": true
},
"resourceExhaustion": {
"enabled": false,
"thresholds": {
"maxFilesAccessed": 50,
"maxApiCalls": 100,
"maxSubtasksSpawned": 20,
"maxTimeWithoutDeliverableMs": 1800000,
"maxTokensConsumed": 500000
},
"warningThresholdPercent": 0.7,
"checkIntervalMs": 10000,
"autoTerminate": false,
"requireConfirmationOnIntervention": true,
"pauseOnIntervention": true
},
"slack": {
"enabled": false,
"webhookUrl": "${SLACK_WEBHOOK_URL}",
"channel": "#aistack-notifications",
"notifyOnAgentSpawn": false,
"notifyOnWorkflowComplete": true,
"notifyOnErrors": true,
"notifyOnReviewLoop": true,
"notifyOnResourceWarning": true,
"notifyOnResourceIntervention": true
},
"consensus": {
"enabled": false,
"requireForRiskLevels": ["high", "medium"],
"reviewerStrategy": "adversarial",
"timeout": 300000,
"maxDepth": 5,
"autoReject": false,
"highRiskAgentTypes": ["coder", "devops", "security-auditor"],
"mediumRiskAgentTypes": ["architect", "coordinator", "analyst"],
"highRiskPatterns": ["delete", "remove", "drop", "deploy", "production", "credentials", "secret", "password", "token", "api key"],
"mediumRiskPatterns": ["modify", "update", "change", "configure", "install"]
}
}
---
import {
spawnAgent,
getMemoryManager,
startMCPServer,
getConfig,
createReviewLoop,
} from '@blackms/aistack';
// Spawn an agent
const agent = spawnAgent('coder', {
name: 'my-coder',
metadata: { project: 'awesome-app' }
});
// Use memory with FTS5 search
const memory = getMemoryManager(getConfig());
await memory.store('architecture:pattern', 'Use dependency injection', {
namespace: 'best-practices',
tags: ['architecture', 'patterns'],
});
const results = await memory.search('dependency injection');
console.log(results); // FTS5 ranked results
// Start adversarial review loop
const reviewState = await createReviewLoop(
'Write a secure authentication function',
getConfig(),
{ maxIterations: 3 }
);
console.log(reviewState.finalVerdict); // APPROVED or REJECTED
console.log(reviewState.currentCode);
console.log(reviewState.reviews); // All review rounds
// Start MCP server
const server = await startMCPServer(getConfig());
console.log('MCP server listening on stdio');
Real-time notifications to your team: - Agent Events - Spawning, stopping, errors - Workflow Updates - Start, completion, failures - Review Loop Progress - Iteration updates - Resource Alerts - Warnings, interventions, terminations - Customizable - Choose which events to notify
---
import { MemoryManager } from '@blackms/aistack/memory';
import { spawnAgent, listAgentTypes, pauseAgent, resumeAgent } from '@blackms/aistack/agents';
import { startMCPServer } from '@blackms/aistack/mcp';
import { getResourceExhaustionService } from '@blackms/aistack/monitoring';
// Direct imports for smaller bundles
const agentTypes = listAgentTypes();
// => ['coder', 'researcher', 'tester', 'reviewer', 'adversarial', 'architect', 'coordinator', 'analyst', 'devops', 'documentation', 'security-auditor']
---
GitHub Actions workflow with 5 parallel jobs:
Code Coverage: Uploaded to Codecov after test completion
Code: .github/workflows/ci.yml
| Feature | aistack | claude-flow | Claude Agent SDK | Mastra | LangGraph |
|---|---|---|---|---|---|
| Orchestration model | Multi-agent + message bus | Multi-agent (swarm) | Single agent (loop) | Graph + workflows | Graph (state machine) |
| Memory persistence | SQLite + FTS5 + optional vectors | SQLite | None (BYO) | LibSQL / Postgres | Checkpointer (Postgres / SQLite / Redis) |
| Observability | Built-in metrics + web dashboard. OTel: ⚠️ M1 roadmap ([AIG-632](https://linear.app/aigensolutionsit/issue/AIG-632)) | Limited | Tracing via Anthropic API | OTel native + AI tracing | LangSmith (hosted) / OTel |
| Sandboxed execution | ⚠️ M1 roadmap ([AIG-634](https://linear.app/aigensolutionsit/issue/AIG-634)) | Via hooks | Bash tool (host) | Via tools | Via tools |
| OSS license | MIT | MIT | MIT | Elastic License 2.0 | MIT |
| Distribution | NPM | NPM | NPM / PyPI | NPM | PyPI / NPM (JS port) |
| Claude Code-native (MCP server built-in) | ✅ 46 MCP tools | ✅ | ✅ (it *is* the SDK) | ❌ (MCP client only) | ❌ |
| Adversarial review built-in | ✅ dedicated agent + loop | ❌ | ❌ | ❌ | ❌ (DIY in graph) |
| Consensus checkpoints | ✅ risk-gated, configurable | ❌ | ❌ | ❌ | ❌ (interrupt-based DIY) |
| Background runner | ⚠️ M1 roadmap ([AIG-636](https://linear.app/aigensolutionsit/issue/AIG-636)) | ✅ | ❌ | ✅ workflows | ✅ |
Feature claims for third-party projects reflect public documentation at time of writing; PRs welcome to correct inaccuracies.
What is uniquely aistack: - Adversarial review loop as a first-class primitive — a dedicated agent attacks the coder's output up to N iterations until APPROVED. - Consensus checkpoints — high-risk task spawns can require human or different-model approval before proceeding, with full audit trail. - 46 MCP tools wired directly into Claude Code, including memory, identity, drift detection, and consensus management.
→ See docs/COMPARISON.md for the extended analysis including CrewAI, AutoGen, and Letta.
---
aistack 是一个强大的 AI 记忆与工作流管理工具,旨在帮助开发者在 AI 辅助编程过程中沉淀知识。通过 memory search 功能,你可以快速检索项目中关于 error handling 或 database architecture 的既有决策与模式。即使在 Claude Code 环境下,AI 也能通过调用 memory_search 工具,精准遵循团队定义的 API 响应结构,实现高度一致的开发体验。
aistack 提供了一套完整的 AI Agent 协作框架,支持自动化的开发、测试、对抗性攻击及评审闭环。它具备强大的 Memory 管理能力,能够将项目模式持久化存储;同时支持 MCP 服务启动,并能通过 Slack 集成实现 Agent 事件、工作流状态及资源预警的实时通知,让 AI 的执行过程对团队透明可见。
你可以通过 npm 快速安装 aistack:执行 `npm install @blackms/aistack` 即可完成集成。安装完成后,建议运行 `npx @blackms/aistack status` 来验证安装状态。此外,如果你希望将其作为用户级 Agent 安装到 `~/.claude/agents/` 目录下,可以使用 `npx @blackms/aistack export-agents --user` 命令进行部署。
aistack 支持端到端的自动化工作流。例如,当你要求 AI "创建一个带有测试的 login API endpoint" 时,系统会自动启动一系列角色:Coder 编写代码,Tester 编写并运行测试,Adversarial 尝试通过攻击破坏认证逻辑,Coder 根据发现进行修复,最后由 Reviewer 进行最终审核。整个过程中的模式会被 Memory 自动记录,供后续开发参考。
项目通过根目录下的 `aistack.config.json` 进行配置。你可以灵活定义不同的 AI Providers,支持 Anthropic (如 claude-sonnet)、OpenAI (如 gpt-4o) 以及本地运行的 Ollama (如 llama3.2)。配置支持使用环境变量(如 ${ANTHROPIC_API_KEY})来保护敏感信息,确保在不同开发环境下的安全性与灵活性。
aistack 提供了完善的 TypeScript SDK,支持程序化调用。开发者可以利用 `spawnAgent` 创建具有特定元数据的 Agent,通过 `getMemoryManager` 实现基于 FTS5 的全文检索记忆管理,并能通过 `startMCPServer` 启动 MCP 服务。此外,SDK 还涵盖了从配置读取到 Review Loop 循环控制的全方位能力。
aistack 具备强大的模块化设计与集成能力。通过 Submodule Imports,你可以按需引入 MemoryManager、Agents 或 MCP 相关模块。此外,它深度集成了 Slack,能够实时推送 Agent 的生命周期事件(如启动、停止、错误)、工作流进度更新以及资源耗尽预警,确保团队成员能实时掌握 AI 协作的动态。
高质量的开源MCP工具,支持多个代理编排
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
经综合评估,开源MCP工具 在MCP工具赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | aistack |
| 原始描述 | 开源MCP工具:Production-grade agent orchestration for Claude Code - 11 agents, 46 MCP tools, 。⭐51 · TypeScript |
| Topics | mcptypescriptagent |
| GitHub | https://github.com/blackms/aistack |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-05-28 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端