Skip to content

Latest commit

 

History

History
157 lines (114 loc) · 3.55 KB

README.md

File metadata and controls

157 lines (114 loc) · 3.55 KB

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.

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

npm install @waldzell/mcp-agent-ts

Quick Start

Creating a Workflow

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

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

# 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

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

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.