package main

import (
"bufio"
"bytes"
"encoding/json"
"fmt"
"os"
"strings"

"github.com/spf13/cast"

)

type MCPJson struct {
McpServers map[string]McpServer json:"mcpServers"
}

type McpServer struct {
Command string json:"command"
}

func main() {
// 打开文件
file, err := os.Open("mcpList.txt")
if err != nil {
return
}
defer file.Close()

// 创建scanner逐行读取
scanner := bufio.NewScanner(file)
mcpJson := MCPJson{
    McpServers: make(map[string]McpServer),
}
// 逐行读取并打印
for scanner.Scan() {
    line := scanner.Text()
    // 取 /Users/tal/go/mcp/src/go_mcp/main/tool/mcpJsonMcp 最后的 mcpJsonMcp 部分
    lastPart := strings.Split(line, "/")
    mcpName := lastPart[len(lastPart)-1]

    mcpJson.McpServers[mcpName] = McpServer{
        Command: line,
    }
}

// 检查扫描过程中是否有错误
if err := scanner.Err(); err != nil {
    return
}

// 打印mcpJson的json格式
jsonData, err := json.Marshal(mcpJson)
if err != nil {
    return
}
mcpJsonStr := cast.ToString(jsonData)
// 格式化json
var prettyJSON bytes.Buffer
if err := json.Indent(&prettyJSON, []byte(mcpJsonStr), "", "  "); err != nil {
    return
}
mcpJsonStr = prettyJSON.String()
// 打印mcpJsonStr
fmt.Println(mcpJsonStr)

}

作者:admin  创建时间:2025-04-17 21:26
最后编辑:admin  更新时间:2025-04-17 21:26
上一篇:
下一篇: