返回市场
MCPhost-微软SQL简易指南

MCPhost-微软SQL简易指南

作者:Mortaza760 星标更新:2025-09-23

项目介绍

技术文档摘要

MSSQL MCP Server for Local LLM Integration

概述

此MCP(模型上下文协议)服务器实现了本地LLM(通过Ollama运行的Qwen2.5 7B)与Microsoft SQL Server数据库之间的无缝集成。该服务器提供安全的只读数据库访问权限给您的本地AI模型,使其能够通过自然语言交互查询和分析SQL数据。

预备条件

必要软件

  • Go语言(必须首先安装)
  • Ollama - 本地LLM运行环境
  • Python 3.10+ - MCP服务器的运行环境
  • Microsoft SQL Server - 目标数据库系统
  • SQL Server ODBC驱动程序 18 - 数据库连接

分步安装指南

第一步:安装Go语言

在继续之前,这一步是强制性的!

  1. 从官方网站下载Go:

    https://go.dev/doc/install
    
  2. 安装适用于您操作系统的Go:

    • macOS:下载.pkg安装程序并按照设置向导进行操作
    • Windows:使用.msi安装程序
    • Linux:使用tar.gz包或包管理器
  3. 验证安装:

    go version
    

    如果安装正确,您应该能看到Go版本号。

第二步:安装mcphost

在安装Go之后,运行:

go install github.com/mark3labs/mcphost@latest

这将安装mcphost工具,这是运行带有Ollama的MCP服务器所必需的。

第三步:设置Python环境

  1. 创建虚拟环境:

    python -m venv loca
    
  2. 激活虚拟环境:

    • macOS/Linux
      source loca/bin/activate
      
    • Windows
      loca\Scripts\activate
      
  3. 安装Python依赖项:

    pip install pyodbc python-dotenv mcp
    

第四步:配置环境变量

在项目目录中创建一个.env文件,内容如下:

MSSQL_SERVER=your_server_name
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
MSSQL_DRIVER=ODBC Driver 18 for SQL Server

第五步:下载Ollama和正确的模型

  1. ollama.ai安装Ollama

  2. 拉取正确的模型(支持工具调用的版本):

    ollama pull qwen2.5:7b
    

关键点:选择支持工具集成的模型

⚠️ 重要提示:在选择Ollama模型时,您必须选择支持工具/函数调用能力的模型。并非所有模型都内置了这一功能。

推荐用于MCP集成的模型:

  • qwen2.5:7b(已确认工作)
  • llama3.1:8b(支持工具调用的版本)
  • phi3:medium(支持函数调用)
  • gemma2:2b(支持工具调用)

为什么这很重要:MCP服务器依赖于LLM理解并调用特定工具/函数的能力。没有工具集成能力的模型将无法利用此MCP服务器提供的数据库查询功能。

运行MCP服务器

第一步:启动MCP服务器

在VS Code终端(或您偏好的IDE)中:

  1. 激活您的虚拟环境(如果尚未激活):

    source loca/bin/activate  # macOS/Linux
    # 或
    loca\Scripts\activate    # Windows
    
  2. 运行MSSQL服务器脚本

    python mssql.py
    

    您应看到:"Starting MCP server main loop...",表示服务器正在运行。

第二步:使用mcphost连接

在另一个终端窗口(macOS/Linux/Windows)中:

重要提示:根据您的系统架构调整路径:

  • 对于macOS (ARM64) - 使用默认路径:

    mcphost -m ollama:qwen2.5 --config "/Users/ameermortaza/Desktop/Ollama/loca.json"
    
  • 对于Windows - 调整路径:

    mcphost -m ollama:qwen2.5 --config "C:\path\to\your\loca.json"
    
  • 对于Linux - 调整路径:

    mcphost -m ollama:qwen2.5 --config "/home/username/path/to/loca.json"
    

关键配置说明

更新loca.json文件以适应您的特定系统:

{
  "mcpServers": {
    "mssql": {
      "command": "python",
      "args": ["/ABSOLUTE/PATH/TO/YOUR/mssql.py"],
      "env": {
        "VIRTUAL_ENV": "/ABSOLUTE/PATH/TO/YOUR/loca",
        "PATH": "/ABSOLUTE/PATH/TO/YOUR/loca/bin:...rest of your PATH..."
      }
    }
  }
}

替换路径为您的实际系统路径!

可用工具

MCP服务器提供了四个主要工具,使您的本地LLM更强大:

1. list_databases

  • 目的:发现SQL Server上的所有可用数据库
  • 用法:"展示可用的数据库"
  • 输出:用户数据库列表,排除系统数据库

2. list_tables

  • 目的:探索特定数据库中的表
  • 参数database(必需)
  • 用法:"‘Sales’数据库中有哪些表?"
  • 输出:模式和表名及其计数

3. list_columns

  • 目的:检查表结构和元数据
  • 参数databasetable(两者都必需)
  • 用法:"展示‘Customers’表中的列"
  • 输出:列名、数据类型、是否允许为空及默认值

4. run_query

  • 目的:执行安全的只读SQL查询
  • 参数databasesql(两者都必需)
  • 安全性:验证查询以阻止写操作(INSERT、UPDATE、DELETE等)
  • 用法:"获取按购买金额排名前10的客户"
  • 输出:格式化的查询结果,包括列标题和数据

安全特性

  • 只读访问:明确阻止所有写操作
  • 查询验证:正则表达式验证防止危险的SQL命令
  • 环境变量:敏感凭证存储在代码之外
  • 错误处理:全面的日志记录和错误管理

常见问题排查

问题1:"未找到命令:mcphost"

解决方案:确保Go已正确安装且您的GOPATH在PATH中:

export PATH=$PATH:$(go env GOPATH)/bin

问题2:Python模块错误

解决方案:确保您的虚拟环境已激活且依赖项已安装:

source loca/bin/activate
pip install -r requirements.txt  # 或重新安装依赖项

问题3:Windows/Linux路径错误

解决方案:更新loca.json中的所有路径以匹配您的系统架构:

  • Windows:C:\Users\YourName\Desktop\Ollama\mssql.py
  • Linux:/home/yourname/Desktop/Ollama/mssql.py

问题4:模型不识别工具

解决方案:确保您使用的是支持工具调用的模型,如qwen2.5:7b

AI中的MCP未来

当前影响:

  • 普及化:使本地LLM能够安全地访问企业数据
  • 隐私:数据不会离开您的基础设施
  • 成本降低:消除基于云的AI服务的API费用
  • 定制化:与现有系统的定制集成

未来潜力:

  1. 企业采用:MCP将成为AI集成的标准
  2. 多模态扩展:从数据库扩展到文件系统、API和IoT
  3. 标准化:整个行业的AI工具调用协议
  4. 专用服务器:针对医疗保健、金融等领域的MCP
  5. 联邦学习:MCP实现无数据共享的协作AI

需要帮助?

如果您在设置或操作过程中遇到任何问题,请随时联系寻求帮助:

联系方式Mortaza76.github.io

结论

此MSSQL MCP服务器将您的本地Qwen2.5 LLM从通用聊天机器人转变为强大的数据分析工具。通过仔细遵循这些步骤,并确保针对您的特定操作系统进行适当的配置,您将创建一个能够真正理解和与组织数据互动的AI助手。

记住关键步骤:

  1. 先安装Go
  2. 通过Go安装mcphost
  3. 设置Python虚拟环境
  4. 在一个终端中运行mssql.py
  5. 在另一个终端中使用mcphost连接
  6. 调整路径以适应您的特定操作系统

MCP协议代表了AI集成的未来——安全、可定制且面向企业。

如果您想在使用Linux AMD-64架构的VM上部署它 完美 🙌 现在您已经在VM中成功设置了整个管道,让我为您起草一份详尽的分步文档,解释您所做的每一步——从设置Python开始,到创建虚拟环境、安装依赖项、配置Ollama + MCP,以及运行查询。

📝 在Ubuntu VM中设置MCP与Ollama + MSSQL

本文档解释如何在Ubuntu 20.04 VM内部设置本地开发环境,以运行连接到SQL Server的Python MCP服务器(mssql.py),并通过MCPHost将其与Ollama模型(如Qwen2.5或Llama3.1)集成。

  1. 安装Python 3.10.18和虚拟环境

Ubuntu 20.04自带Python 3.8,对于现代库来说太旧了。您从源码构建了Python 3.10.18,并为项目创建了一个专用的虚拟环境。

验证Python版本

python3 --version python3.10 --version

在桌面创建名为"loca"的venv

cd ~/Desktop python3.10 -m venv loca

激活venv

source ~/Desktop/loca/bin/activate

激活后,您的提示符会显示(loca)。

  1. 安装所需的Python库

在虚拟环境中,安装mssql.py所需的所有库:

pip install mcp pyodbc python-dotenv

额外的依赖项已经随mcp一起提供: • starlette, uvicorn, httpx等。

检查已安装的包:

pip list

  1. 安装SQL Server ODBC驱动程序

由于Python脚本使用pyodbc,您需要Microsoft的ODBC驱动程序:

sudo apt-get update sudo apt-get install -y msodbcsql18 unixodbc-dev

这确保了pyodbc可以从Linux连接到SQL Server。

  1. 创建包含数据库凭据的.env文件

您的脚本从.env加载DB凭据。在~/Desktop/.env中创建它:

MSSQL_SERVER=192.168.1.16 MSSQL_DATABASE=SkyUpAuth MSSQL_USERNAME=admin MSSQL_PASSWORD=Prosoft@bel21 MSSQL_DRIVER=ODBC Driver 18 for SQL Server

  1. 创建mssql.py

此文件实现了用于MSSQL的MCP服务器,使用mcp.server。您将其放置在:

/home/devops/Desktop/mssql.py

它: • 加载.env • 使用pyodbc连接到SQL Server • 定义MCP工具: • list_databases • list_tables • list_columns • run_query

手动运行以测试:

(loca) python mssql.py

您应看到日志: 加载环境变量并初始化MCP服务器... 启动MCP服务器主循环...

  1. 安装Ollama和模型

您从官方脚本安装了Ollama:

curl -fsSL https://ollama.com/install.sh | sh

然后拉取模型:

ollama pull qwen2.5:7b ollama pull llama3.1:8b

检查已安装的模型:

ollama list

  1. 安装Go和MCPHost

MCPHost是用Go编写的。为了安装:

下载Go

wget https://go.dev/dl/go1.25.1.linux-amd64.tar.gz sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf go1.25.1.linux-amd64.tar.gz

添加到PATH

echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc source ~/.bashrc

验证

go version

安装mcphost:

go install github.com/mark3labs/mcphost@latest

检查:

which mcphost mcphost --version

  1. 创建loca.json配置

这告诉MCPHost如何启动您的MSSQL MCP服务器:

{ "mcpServers": { "mssql": { "command": "python", "args": ["/home/devops/Desktop/mssql.py"], "env": { "VIRTUAL_ENV": "/home/devops/Desktop/loca", "PATH": "/home/devops/Desktop/loca/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/devops/go/bin" } } } }

  1. 启动MCPHost与Ollama + MSSQL

现在您可以启动整个系统:

mcphost -m ollama:qwen2.5 --config "/home/devops/Desktop/loca.json"

您将看到: 加载模型:ollama (qwen2.5) 从MCP服务器加载了4个工具

现在您可以与Qwen2.5聊天,它可以通过mssql.py定义的MSSQL工具访问数据。

🔹 工作流程总结 1. Python 3.10.18 venv (loca) → 运行mssql.py MCP服务器。 2. .env文件 → 存储MSSQL连接凭据。 3. pyodbc + ODBC驱动程序 → 让Python与SQL Server通信。 4. Ollama → 运行本地LLM(Qwen2.5, Llama3.1)。 5. Go + MCPHost → 将LLM与MCP服务器桥接。 6. loca.json → 告诉MCPHost如何启动MCP服务器。 7. 运行mcphost → 连接LLM + MCP服务器 + 数据库。

⚡ 到此为止,您已经有一个完全工作的管道: 本地LLM (Qwen/Llama) ↔ MCPHost ↔ 通过Python服务器的MSSQL

如有任何疑问,请通过我的网站Mortaza76/github.io联系我。 确保您有一个包含所有凭据的.env文件,以便登录到MSSQL数据库服务器。 我发现Python 3.10+最适合这个项目,因为支持使用的库和下载的模块。