Skip to Content
MCP ServersCommunityMCP Agent TypeScript Port

MCP Agent TypeScript Port

View original on GitHub 

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.

Last updated on