区块链交易分析服务器

Phalcon MCP Server是一个集成BlockSec平台的区块链交易分析工具,通过Model Context Protocol(MCP)提供多种交易分析功能。

  • by mark3labs
  • Go
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 mark3labs/phalcon-mcp

使用说明

Phalcon MCP服务器

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

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

组件

工具

交易分析

  • 追踪

    • 跟踪区块链上交易的不同调用以及气体使用指标
    • 参数: chainId (必填), transactionHash (必填)
  • 个人资料

    • 在区块链上分析交易,包括交易、资金流和代币信息的详细信息
    • 参数: chainId (必填), transactionHash (必填)
  • 地址标签

    • 为合约地址获取人类可读的标签,如令牌、协议和其他链上实体
    • 参数: chainId (必填), transactionHash (必填)
  • 余额变化

    • 检索交易的详细余额变化信息
    • 参数: chainId (必填), transactionHash (必填)
  • 状态更改

    • 检索有关状态更改的详细信息,如事务合约中的存储变量
    • 参数: chainId (必填), transactionHash (必填)
  • 交易概览

    • 通过汇总所有可用分析工具的数据,对交易进行全面概述
    • 参数: chainId (必填), transactionHash (必填)

连锁信息

  • GetChainIdByName
    • 按名称、链或chainSlug获取区块链的链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() {
    // Create a new server with version
    s := server.NewServer("1.0.0")
    
    // Start the server in stdio mode
    if err := s.ServeStdio(); err != nil {
        log.Fatalf("Server error: %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() {
    // Create the Phalcon MCP server
    phalconServer := server.NewServer("1.0.0")

    // Create an in-process transport using the server's MCPServer
    inProcessTransport := transport.NewInProcessTransport(phalconServer.GetMCPServer())

    // Create an MCP client using the in-process transport
    mcpClient := client.NewMCPClient(inProcessTransport)

    // Start the transport
    ctx := context.Background()
    if err := mcpClient.Connect(ctx); err != nil {
        log.Fatalf("Failed to connect: %v", err)
    }
    defer mcpClient.Close()

    // Initialize the client
    if err := mcpClient.Initialize(ctx); err != nil {
        log.Fatalf("Failed to initialize: %v", err)
    }

    // List available tools
    tools, err := mcpClient.ListTools(ctx)
    if err != nil {
        log.Fatalf("Failed to list tools: %v", err)
    }

    // Use the tools...
    result, err := mcpClient.CallTool(ctx, "get-chain-id-by-name", map[string]any{
        "name": "ethereum",
    })
    if err != nil {
        log.Fatalf("Failed to call tool: %v", err)
    }
}

使用模型上下文协议

要将此服务器与支持MCP的应用程序集成,请执行以下操作:

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

码头工人

使用Docker运行

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

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

使用MCP配置Docker

要将Docker镜像与支持MCP的应用程序集成,请执行以下操作:

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

许可证

麻省理工学院