MCP Agent TypeScript Port
Official
by waldzellai
# MCP Agent TypeScript Port
## Overview
The MCP (Model Context Protocol) Agent TypeScript Port is a robust type-safe implementation of the MCP Agent system. It provides a flexible framework for building intelligent context-aware agents with advanced workflow management, logging, and execution capabilities.
This is a TypeScript port of the [original MCP Agent framework by lastmile-ai](https://github.com/lastmile-ai/mcp-agent).
## Features
- 🚀 **Modular Architecture**
- Comprehensive TypeScript implementation
- Flexible, extensible design
- Type-safe interfaces
- 📊 **Advanced Workflow Management**
- Step-based workflow execution
- Concurrent task processing
- Detailed context tracking
- 🔍 **Powerful Logging System**
- Configurable log levels
- Context-rich logging
- Log export capabilities
- 🧰 **Flexible Executor**
- Task queuing
- Timeout handling
- Concurrent task management
- 🖥️ **CLI Support**
- Command-line interface
- Easy agent management
## Installation
```bash
npm install @waldzell/mcp-agent-ts
```
## Quick Start
### Creating a Workflow
```typescript
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);
}
```
### Logging
```typescript
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 Usage
```bash
# 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
```
## Executor Usage
```typescript
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);
```
## Configuration
The MCP Agent can be configured through:
- Environment variables
- Configuration files
- Programmatic configuration
## Development Status
🚧 **Early Stage Development** 🚧
This is an early-stage port and is not yet feature-complete. Contributions and feedback are welcome!
## Original Project
Original MCP Agent: [lastmile-ai/mcp-agent](https://github.com/lastmile-ai/mcp-agent)
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project follows the license of the original MCP Agent project.
## Acknowledgements
Special thanks to the original MCP Agent developers for creating an innovative framework for AI agent development.