返回市场
法尔康-MCP

法尔康-MCP

作者:mark3labs8 星标更新:2025-10-16

项目介绍

Phalcon MCP Server

此MCP服务器与BlockSec平台集成,通过模型上下文协议(MCP)提供区块链交易分析工具。

模型上下文协议(MCP)是一种用于AI模型集成的协议,允许AI模型访问外部工具和数据源。

组件

工具

交易分析

  • Trace

    • 跟踪区块链上交易的不同调用及其Gas使用情况
    • 参数:chainId(必需),transactionHash(必需)
  • Profile

    • 分析区块链上的交易详情,包括资金流向和代币信息
    • 参数:chainId(必需),transactionHash(必需)
  • AddressLabel

    • 获取合约地址的人类可读标签,如代币、协议和其他链上实体
    • 参数:chainId(必需),transactionHash(必需)
  • BalanceChange

    • 获取交易的详细余额变化信息
    • 参数:chainId(必需),transactionHash(必需)
  • StateChange

    • 获取交易的详细状态变化信息,例如合约中的存储变量
    • 参数:chainId(必需),transactionHash(必需)
  • TransactionOverview

    • 通过聚合所有可用分析工具的数据,提供交易的综合概述
    • 参数:chainId(必需),transactionHash(必需)

链信息

  • GetChainIdByName
    • 根据名称、链或链别名获取区块链的链ID
    • 参数:name(必需)

快速开始

安装

使用Go安装

go install github.com/mark3labs/phalcon-mcp@latest

使用方法

启动MCP服务器:

phalcon-mcp serve

检查版本:

phalcon-mcp version

作为包使用

您可以在Go项目中导入该服务器:

标准输入模式

import "github.com/mark3labs/phalcon-mcp/server"

func main() {
    // 创建一个带有版本的新服务器
    s := server.NewServer("1.0.0")
    
    // 在标准输入模式下启动服务器
    if err := s.ServeStdio(); err != nil {
        log.Fatalf("服务器错误: %v", err)
    }
}

进程内模式

与mcp-go客户端库一起在进程中使用:

import (
    "context"
    "log"
    
    "github.com/mark3labs/mcp-go/client"
    "github.com/mark3labs/mcp-go/client/transport"
    "github.com/mark3labs/phalcon-mcp/server"
)

func main() {
    // 创建Phalcon MCP服务器
    phalconServer := server.NewServer("1.0.0")

    // 使用服务器的MCPServer创建进程内传输
    inProcessTransport := transport.NewInProcessTransport(phalconServer.GetMCPServer())

    // 使用进程内传输创建MCP客户端
    mcpClient := client.NewMCPClient(inProcessTransport)

    // 启动传输
    ctx := context.Background()
    if err := mcpClient.Connect(ctx); err != nil {
        log.Fatalf("连接失败: %v", err)
    }
    defer mcpClient.Close()

    // 初始化客户端
    if err := mcpClient.Initialize(ctx); err != nil {
        log.Fatalf("初始化失败: %v", err)
    }

    // 列出可用工具
    tools, err := mcpClient.ListTools(ctx)
    if err != nil {
        log.Fatalf("列出工具失败: %v", err)
    }

    // 使用工具...
    result, err := mcpClient.CallTool(ctx, "get-chain-id-by-name", map[string]any{
        "name": "ethereum",
    })
    if err != nil {
        log.Fatalf("调用工具失败: %v", err)
    }
}

使用模型上下文协议

要将此服务器与支持MCP的应用程序集成:

{
  "mcpServers": {
    "phalcon": {
      "command": "phalcon-mcp",
      "args": ["serve"]
    }
  }
}

Docker

使用Docker运行

您可以使用Docker运行Phalcon MCP服务器:

docker run -i --rm ghcr.io/mark3labs/phalcon-mcp:latest serve

Docker配置与MCP

要将Docker镜像与支持MCP的应用程序集成:

{
  "mcpServers": {
    "phalcon": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mark3labs/phalcon-mcp:latest",
        "serve"
      ]
    }
  }
}

许可证

MIT