Token导航 LogoToken导航TokenDH.com
Base Lib logo
运维云端未说明官方级别未说明来源级核验

Base Lib

MCP Server

一个用于实现机器控制协议(MCP)服务器的Go库,提供WebSocket通信、JSON消息格式、自定义消息处理等功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Go云端部署Docker

安装说明

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

作者 / 组织

SerubanPeterShan

提供方

SerubanPeterShan

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

MCP服务器库

用于实现机器控制协议(MCP)服务器的Go库。这是一个纯库包,可以导入到Go应用程序中以添加MCP服务器功能。

特性

  • 基于WebSocket的通信
  • JSON消息格式
  • 自定义消息处理程序
  • 并发客户处理
  • 结构化日志记录
  • 健康检查端点
  • 易于扩展和定制

安装

go get github.com/serubanpetershan/mcp-server-base-library

用法

package main

import (
    "log"
    "github.com/serubanpetershan/mcp-server/mcp"
    "github.com/sirupsen/logrus"
    "github.com/gorilla/websocket"
)

func main() {
    // Create server configuration
    config := &mcp.Config{
        Port: "8080",
        Logger: logrus.New(),
        Handlers: map[string]mcp.MessageHandler{
            "echo": func(s *mcp.Server, conn *websocket.Conn, msg mcp.Message) error {
                return s.Send(conn, msg)
            },
        },
    }

    // Create and start the server
    server := mcp.NewServer(config)
    if err := server.Start(config.Port); err != nil {
        log.Fatal(err)
    }
}

消息格式

{
    "type": "message_type",
    "payload": {}
}

api参考

服务器

// Create a new server
server := mcp.NewServer(config)

// Start the server
server.Start(port string) error

// Register a message handler
server.RegisterHandler(messageType string, handler MessageHandler)

// Broadcast a message to all clients
server.Broadcast(msg Message)

// Send a message to a specific client
server.Send(client *websocket.Conn, msg Message) error

// Get all connected clients
server.GetClients() []*websocket.Conn

配置

type Config struct {
    Port     string
    Logger   *logrus.Logger
    Handlers map[string]MessageHandler
}

消息处理程序

type MessageHandler func(*Server, *websocket.Conn, Message) error

例子

请参阅 examples 目录中提供了如何在应用程序中使用此库的完整示例。

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交您的更改
  4. 推到分支
  5. 创建新的Pull请求

安全

此项目使用自动安全扫描:

  • SonarQube用于代码质量和安全分析
  • Snyk用于依赖漏洞扫描
  • 每周自动安全扫描
  • 所有拉取请求都会自动扫描

版本控制

要创建新版本,请执行以下操作:

  1. 更新版本文件
  2. 创建新标签: git tag -a v1.0.0 -m "Release v1.0.0"
  3. 按下标签: git push origin v1.0.0

发布工作流将自动:

  • 运行测试
  • 构建项目
  • 创建GitHub版本
  • 生成变更日志

许可证

版权所有(c)2024 Seruban Peter Shan。保留所有权利。

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

该软件受版权法和国际条约的保护。未经授权擅自复制或分发本软件或其任何部分,可能会受到严厉的民事和刑事处罚,并将在法律允许的最大范围内受到起诉。

目录标签

目录标签

Go云端部署DockerGo库本地部署WebSocketJSON消息并发处理结构化日志

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP