Token导航 LogoToken导航TokenDH.com
MCP dart SDK logo
AI代理未说明官方级别未说明来源级核验

MCP dart SDK

MCP Server

一个Dart实现的模型上下文协议(MCP)SDK,用于无缝集成LLM应用与外部数据源/工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
工具集成模型集成AI代理

安装说明

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

作者 / 组织

Ayobami-00

提供方

Ayobami-00

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

MCP飞镖SDK

](https://pub.dev/packages/mcp_dart_sdk) ![License: MIT](https://opensource.org/licenses/MIT)

Dart实现 模型上下文协议(MCP) 用于LLM应用程序和外部数据源/工具之间的无缝集成。

特性

  • 全面实施模型上下文协议
  • 多种传输选项(stdio、HTTP+SSE、WebSocket)
  • 支持所有核心功能(资源、工具、提示、日志记录)
  • 带有Dart习惯用法的类型安全API
  • 全面的文档和示例
  • 支持Flutter和独立Dart应用程序

安装

添加 mcp_dart_sdk 作为你的依赖 pubspec.yaml 文件:

dependencies:
  mcp_dart_sdk: ^0.1.0

然后运行:

dart pub get

或者用Flutter:

flutter pub get

用法

客户端示例

import 'dart:io';
import 'package:mcp_dart_sdk/mcp_dart_sdk.dart';

Future main() async {
  // Launch a server process (e.g., a Python MCP server)
  final process = await Process.start(
    'python3',
    ['-m', 'mcp.server.stdio'],
    mode: ProcessStartMode.normal,
  );
  
  // Create a client
  final client = McpClient();
  
  try {
    // Connect to the server using stdio transport
    await client.connect(StdioTransport(process));
    
    // Initialize the session
    final capabilities = await client.initialize(
      clientInfo: ClientInfo(name: 'Dart MCP Client', version: '1.0.0'),
      capabilities: ClientCapabilities(),
    );
    
    print('Connected to server: ${client.serverInfo?.name} ${client.serverInfo?.version}');
    
    // Check if the server supports tools
    if (client.isCapabilitySupported('tools')) {
      // List available tools
      final result = await client.sendRequest('tools/list');
      final tools = result['tools'] as List;
      
      print('Available tools:');
      for (final tool in tools) {
        print('- ${tool['name']}: ${tool['description']}');
      }
      
      // Call a tool
      if (tools.isNotEmpty) {
        final toolName = tools.first['name'];
        final toolResult = await client.sendRequest('tools/execute', {
          'name': toolName,
          'params': {},
        });
        
        print('Tool result: $toolResult');
      }
    }
    
    // Clean shutdown
    await client.shutdown();
    await client.exit();
  } catch (e) {
    print('Error: $e');
  } finally {
    await client.close();
    process.kill();
  }
}

WebSocket传输示例

import 'package:mcp_dart_sdk/mcp_dart_sdk.dart';

Future main() async {
  final client = McpClient();
  
  try {
    // Connect to a WebSocket server
    final transport = WebSocketTransport(url: 'ws://localhost:8000/ws');
    await transport.connect();
    
    await client.connect(transport);
    await client.initialize(
      clientInfo: ClientInfo(name: 'Dart MCP Client', version: '1.0.0'),
      capabilities: ClientCapabilities(),
    );
    
    // Use the client...
    
    await client.shutdown();
    await client.exit();
  } catch (e) {
    print('Error: $e');
  } finally {
    await client.close();
  }
}

HTTP+SSE传输示例

import 'package:mcp_dart_sdk/mcp_dart_sdk.dart';

Future main() async {
  final client = McpClient();
  
  try {
    // Connect using HTTP+SSE
    final transport = HttpSseTransport(
      sendUrl: 'http://localhost:8000/send',
      receiveUrl: 'http://localhost:8000/events',
    );
    await transport.connect();
    
    await client.connect(transport);
    await client.initialize(
      clientInfo: ClientInfo(name: 'Dart MCP Client', version: '1.0.0'),
      capabilities: ClientCapabilities(),
    );
    
    // Use the client...
    
    await client.shutdown();
    await client.exit();
  } catch (e) {
    print('Error: $e');
  } finally {
    await client.close();
  }
}

文档

贡献

欢迎投稿!请随时提交拉取请求。

许可证

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

目录标签

目录标签

工具集成模型集成AI代理Dart本地部署LLM集成DartSDK模型上下文协议数据源连接

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP