Token导航 LogoToken导航TokenDH.com
AISDK MCP Bridge logo
运维云端SSE官方级别未说明来源级核验

AISDK MCP Bridge

MCP Server

一个桥接包,实现模型上下文协议(MCP)与AI SDK之间的无缝集成,支持MCP服务器与AI模型之间的高效通信和工具执行。

工具数

0

提示词数

0

GitHub Stars

22

资源数

0
TypeScript云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

vrknetha

提供方

vrknetha

最后核验

2026/5/17 20:44

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npm install aisdk-mcp

详细介绍

AISDK MCP桥

一个桥接包,实现了模型上下文协议(MCP)和AI SDK之间的无缝集成,允许MCP服务器和AI模型之间进行高效通信和工具执行。

](https://badge.fury.io/js/aisdk-mcp-bridge) ![License: MIT](https://opensource.org/licenses/MIT)

特性

  • MCP服务器与AI SDK无缝集成
  • 支持多种MCP服务器类型(Node.js、Python、UVX)
  • 独立配置的多服务器支持
  • 通过以下方式灵活配置 mcp.config.json
  • TypeScript支持完整的类型定义
  • 强大的错误处理和日志记录
  • 易于使用的API工具执行

安装

npm install aisdk-mcp-bridge

快速开始

  1. 创建一个 mcp.config.json 项目根目录中的文件:
{
  "mcpServers": {
    "twitter-mcp": {
      "command": "npx",
      "args": ["-y", "@enescinar/twitter-mcp"],
      "env": {
        "API_KEY": "your-twitter-api-key",
        "API_SECRET_KEY": "your-twitter-api-secret",
        "ACCESS_TOKEN": "your-twitter-access-token",
        "ACCESS_TOKEN_SECRET": "your-twitter-access-token-secret"
      }
    },
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "mcp-server-firecrawl"],
      "env": {
        "FIRE_CRAWL_API_KEY": "your-firecrawl-api-key",
        "FIRE_CRAWL_API_URL": "https://api.firecrawl.com"
      }
    }
  }
}
  1. 在代码中导入并使用桥:
import { generateText } from 'ai';
import { google } from '@ai-sdk/google';
import { getMcpTools, cleanupMcp, initializeMcp } from 'aisdk-mcp-bridge';
import dotenv from 'dotenv';
dotenv.config();

async function main() {
  try {
    // Initialize MCP
    await initializeMcp({ debug: true });

    // Get tools from all servers
    const allTools = await getMcpTools({ debug: true });

    // Or get tools from a specific server
    const twitterTools = await getMcpTools({
      debug: true,
      serverName: 'twitter-mcp',
    });

    // Use tools with AI SDK
    const result = await generateText({
      model: google('gemini-1.5-pro'),
      messages: [
        {
          role: 'system',
          content:
            'You are an AI assistant that uses various tools to help users.',
        },
        {
          role: 'user',
          content: 'Your task description here',
        },
      ],
      tools: twitterTools, // or allTools for all available tools
    });

    console.log('Result:', result.text);
  } finally {
    // Clean up resources
    await cleanupMcp();
  }
}

main().catch(error => {
  console.error('Error:', error);
  process.exit(1);
});

配置

mcp.config.json 文件支持多个服务器和通信模式。每个服务器都可以独立配置。

服务器配置示例:

推特MCP服务器

{
  "mcpServers": {
    "twitter-mcp": {
      "command": "npx",
      "args": ["-y", "@enescinar/twitter-mcp"],
      "env": {
        "API_KEY": "your-twitter-api-key",
        "API_SECRET_KEY": "your-twitter-api-secret",
        "ACCESS_TOKEN": "your-twitter-access-token",
        "ACCESS_TOKEN_SECRET": "your-twitter-access-token-secret"
      }
    }
  }
}

Firecrawl服务器

{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "mcp-server-firecrawl"],
      "env": {
        "FIRE_CRAWL_API_KEY": "your-firecrawl-api-key",
        "FIRE_CRAWL_API_URL": "https://api.firecrawl.com"
      }
    }
  }
}

SSE服务器

{
  "mcpServers": {
    "sse-server": {
      "command": "node",
      "args": ["./server.js"],
      "mode": "sse",
      "sseOptions": {
        "endpoint": "http://localhost:3000/events",
        "headers": {},
        "reconnectTimeout": 5000
      }
    }
  }
}

服务器模式

网桥支持不同的通信模式:

  1. stdio模式 (默认)

- 通过标准输入/输出直接通信 - 最适合简单集成和本地开发 - 低延迟,所需设置最少

  1. SSE模式 (服务器发送的事件)

- 从服务器到客户端的实时单向通信 - 非常适合流式更新和长时间运行的操作 - 内置重新连接处理

api参考

核心功能

initializeMcp(options?: InitOptions): Promise

使用提供的选项初始化MCP服务。

interface InitOptions {
  configPath?: string; // Path to mcp.config.json
  debug?: boolean; // Enable debug logging
}

getMcpTools(options?: ToolOptions): Promise

从MCP服务器获取与AI SDK兼容的工具。

interface ToolOptions {
  debug?: boolean; // Enable debug logging
  serverName?: string; // Optional server name to get tools from a specific server
}

executeMcpFunction(serverName: string, functionName: string, args: Record): Promise

直接在MCP服务器上执行特定功能。

// Example
const result = await executeMcpFunction('twitter-mcp', 'postTweet', {
  text: 'Hello from MCP!',
});

核心类型

MCPConfig (别名 MCPServersConfig)

MCP服务器的配置类型。

interface MCPConfig {
  mcpServers: {
    [key: string]: ServerConfig;
  };
}

ServerConfig

单个MCP服务器的配置。

interface ServerConfig {
  command: string;
  args?: string[];
  env?: Record;
  mode?: 'stdio' | 'sse';
  sseOptions?: {
    endpoint: string;
    headers?: Record;
    reconnectTimeout?: number;
  };
}

MCPToolResult

MCP工具执行的结果类型。

interface MCPToolResult {
  success: boolean;
  data?: unknown;
  error?: string;
}

cleanupMcp(): Promise

清理MCP资源并关闭所有服务器连接。

错误处理

该桥包括全面的错误处理,用于:

  • 服务器初始化失败
  • 通信错误
  • 工具执行失败
  • 配置问题
  • 服务器连接问题

日志记录

该桥通过以下方式提供详细的日志记录:

  • mcp-tools.log:服务器端工具执行日志
  • 用于调试和错误的控制台输出

调试日志记录

您可以通过设置debug环境变量来启用详细的调试日志记录:

# Enable all debug logs
DEBUG=* npm start

# Enable MCP debug logs
DEBUG=mcp npm start

# Enable all MCP namespace logs
DEBUG=mcp:* npm start

调试日志将显示:

  • 服务器初始化和关闭事件
  • 工具注册和执行详细信息
  • 与MCP服务器通信
  • 模式转换和验证
  • 带有堆栈跟踪的错误详细信息
  • 性能指标和时间信息

日志类型

日志系统支持三种类型的日志:

  • info:一般操作信息
  • debug:详细的调试信息(需要DEBUG env变量)
  • error:错误消息和堆栈跟踪(始终记录)

日志文件

所有日志都将写入 logs/mcp-tools.log 格式如下:

[TIMESTAMP] [TYPE] Message
{Optional JSON data}

发展

先决条件

  • Node.js 20.x或更高版本
  • npm 7.x或更高版本

设置

  1. 克隆存储库
  2. 安装依赖项:
npm install

测试

运行测试套件:

npm test

运行特定测试:


npm run test:twitter
npm run test:firecrawl

贡献

我们欢迎捐款!请查看我们的 贡献指南 有关以下内容的详细信息:

  • 建立开发环境
  • 编码标准
  • 拉取请求流程
  • 添加新的MCP服务器

请注意,此项目随附 行为准则参与此项目即表示您同意遵守其条款。

支持

支持:

  1. 检查 文档
  2. 搜索 现有问题
  3. 如果问题仍然存在,则创建新问题

更新日志

更改日志.md 查看更改列表和迁移指南。

安全

关于安全问题,请发送电子邮件至ravi@caw.tech而不是使用公共问题跟踪器。

作者

另请参阅列表 贡献者 谁参与了这个项目。

致谢

  • AI SDK团队的优秀SDK
  • 协议规范的MCP社区
  • 所有帮助过该项目的贡献者

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

TypeScript云端部署DockerAI集成本地部署模型通信工具执行多服务器支持TypeScript支持

接入字段

传输方式(transport,传输协议)

SSE

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

SSEtoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP