MCP代理框架(TypeScript版)
TypeScript 实现的 MCP 代理框架,提供了构建具有高级工作流管理、日志记录和执行能力的情境感知代理的工具。
服务介绍
MCP Agent TypeScript Port
概览
MCP(Model Context Protocol)Agent TypeScript 端口是MCP Agent系统的健壮且类型安全的实现。它提供了一个灵活的框架,用于构建具有高级工作流管理、日志记录和执行能力的智能上下文感知代理。
这是 lastmile-ai 的原始 MCP Agent 框架 的 TypeScript 版本。
功能特点
-
🚀 模块化架构
- 全面的 TypeScript 实现
- 灵活可扩展的设计
- 类型安全的接口
-
📊 高级工作流管理
- 基于步骤的工作流执行
- 并发任务处理
- 详细的上下文跟踪
-
🔍 强大的日志系统
- 可配置的日志级别
- 富含上下文的日志记录
- 日志导出功能
-
🧰 灵活的执行器
- 任务队列
- 超时处理
- 并发任务管理
-
🖥️ CLI 支持
- 命令行界面
- 简单的代理管理
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 MCP Agent TypeScript Port:
npx -y @smithery/cli install @waldzellai/mcp-agent-ts --client claude
手动安装
npm install @waldzell/mcp-agent-ts
快速开始
创建工作流
import { BaseWorkflow } from '@waldzell/mcp-agent-ts';
class MyDataProcessingWorkflow extends BaseWorkflow {
constructor() {
super('my-workflow', 'Data Processing');
this.addStep({
id: 'extract',
name: 'Data Extraction',
execute: async (context) => {
// Implement data extraction logic
return { data: ['item1', 'item2'] };
}
});
this.addStep({
id: 'transform',
name: 'Data Transformation',
execute: async (context) => {
// Implement data transformation logic
return { transformedData: ['ITEM1', 'ITEM2'] };
}
});
}
}
async function runWorkflow() {
const workflow = new MyDataProcessingWorkflow();
const results = await workflow.execute();
console.log(results);
}
日志记录
import { debug, info, warn, error } from '@waldzell/mcp-agent-ts';
// Log with different levels
debug('Debugging information', { userId: 123 });
info('System started');
warn('Potential issue detected');
error('Critical error occurred');
CLI 使用
# Start the MCP Agent
npx mcp-agent start
# List available tools
npx mcp-agent list-tools
# Set log level
npx mcp-agent log-level debug
执行器使用
import { BaseExecutor, Task } from '@waldzell/mcp-agent-ts';
const executor = new BaseExecutor({
maxConcurrentTasks: 3,
timeout: 60000 // 1-minute timeout
});
const task: Task = {
id: 'example-task',
name: 'Sample Task',
execute: async () => {
// Task implementation
return 'Task completed';
}
};
await executor.enqueueTask(task);
配置
可以通过以下方式配置 MCP Agent:
- 环境变量
- 配置文件
- 编程配置
开发状态
🚧 早期开发阶段 🚧
这是一个早期阶段的移植版本,尚未完全具备所有功能。欢迎贡献和反馈!
原始项目
原始 MCP Agent: lastmile-ai/mcp-agent
贡献
- 分叉仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 发起 Pull Request
许可证
此项目遵循原始 MCP Agent 项目的许可证,可在 这里 查找。
致谢
特别感谢原始 MCP Agent 开发者创建了这个创新的 AI 代理开发框架。