Browse Source

完善打包操作

master
张献维 1 month ago
parent
commit
61ec40f300
  1. 3
      .gitignore
  2. 13
      main.go
  3. 56
      使用说明.md

3
.gitignore

@ -1,3 +1,6 @@
/.idea/
/main
/go.sum
/dist/
/MCP-DB.zip
/使用说明.pdf

13
main.go

@ -2,13 +2,13 @@ package main
import (
_ "dm" // 达梦数据库驱动
"flag"
"fmt"
"github.com/mark3labs/mcp-go/server"
"log"
"mcp-go-db/vConfig"
"mcp-go-db/vService"
"mcp-go-db/vTool"
"os"
)
func main() {
@ -16,10 +16,13 @@ func main() {
// name := "dm://HY_ZGGL_FRAME:HY_ZGGL_FRAME@10.200.21.19:5296/DAMENG?schema=HY_ZGGL_FRAME"
// 部署
fmt.Println("程序名称:")
dsn := os.Args[1]
var dsn string
flag.StringVar(&dsn, "dsn", "dm://usr:pwd@ip:port/db?schema=name", "服务连接信息")
fmt.Printf("启动数据库服务...\n")
// 必须调用 flag.Parse() 来解析命令行参数
flag.Parse()
fmt.Printf("启动数据库服务...\n%v\n", dsn)
// 加载配置
config, err := vConfig.LoadConfig(dsn)
if err != nil {
@ -38,7 +41,7 @@ func main() {
log.Fatalf("发生异常: %v", err)
}
}(dbSvc)
fmt.Printf("数据库连接成功: %v\n", config.Database.DmDsn)
fmt.Printf("数据库连接成功...\n")
// 创建MCP服务器
s := server.NewMCPServer(

56
使用说明.md

@ -0,0 +1,56 @@
# MCP-GO-DB 操作数据方法
## 作用
让 AI 操作数据库,是给数据库的工具,读取数据,操作字段等(其他功能后续补充...)
## 操作
复制有效部分到自己的MCP服务配置文件中
**1. 注意** : 需要替换 command 自己对应的应用(当前提供 windows+linux :: amd64 版本的)
**2. 注意** : 需要替换 args 内部自己数据库的参数
```json
{
... 有效部分::开始
"dm-tools": {
"name": "数据库服务",
"version": "1.0.0",
"command": "/home/Viviman/Music/code-go/mcp-go-db/dist/default_linux_amd64_v1/mcp-go-db",
"args": [
"dm://xxx:xxx@xxx:xxx/DAMENG?schema=xxx"
],
"description": "提供查询数据库操作",
"enabled": true,
"autoApprove": [
"获取表数据",
"添加注释",
"获取所有表"
],
"disabled": false,
"timeout": 30
}
}
... 有效部分::结束
}
```
### 效果图
![](/home/Viviman/Pictures/Screenshots/截图_选择区域_20250428130720.png)
Loading…
Cancel
Save