AI assistant本地部署Continue.dev + Ollama + MCP Server
本文选择用Visual Studio Code + Continue.dev插件集成配套的AI IDE,配置Ollama本地运行qwen2.5-coder (7b)模型,并添加一个PG MCP server以提供相应的Tool功能。
为什么这么做?
- 为了理解和实操MCP
- 地区问题用不了Claude Desktop
- 优先想到CodeLLM的使用场景
- 免费,不想花钱买API key
技术介绍
- Model Context Protocol 是一种开放协议,旨在为AI应用提供标准化的接口以安全访问和操作本地及远程数据,被形容为AI领域的"USB-C接口"。
- Continue.dev 是一款功能强大且高度可扩展的AI编程助手,支持多任务并行处理与开发流水线工具集成,为开发者提供全方位的智能编码支持。
- Ollama 是一个开源框架,专门设计用于在本地运行大型语言模型,通过将模型权重、配置和数据捆绑到一个包中,简化了模型的设置和使用。
(以上文字介绍来自qwq生成,可能代表、也可能不代表作者观点)
那么本文的这个案例中,各个工具或者应用承担的是什么角色呢?
- MCP host and client: Visual Studio Code + Continue.dev
- LLM: Ollama running qwen2.5-coder
- MCP server: 一个用MCP Typescript SDK实现的Node.js应用(被Continue.dev初始化应用)

操作步骤
1. Visual Studio Code中安装Continue.dev插件

为了与主流AI IDE布局一致,装完之后我把插件入口拖至right side bar 🐶
2. 使用Ollama本地部署LLM
Ollama的本地安装比较傻瓜,就不赘述了,follow官方文档就好。我这里选择运行一个阿里的qwen2.5-coder 7b作为Continue.dev的模型Provider,用下来感觉跑着不费力。
==这里也想问一下,有没有哪位同学试过MacBook Pro (Apple M4 Pro)能跑得动多大参数体量的LLM?32b?==
bash
ollama run qwen2.5-coder
# 下载好image安装运行成功后,可以直接Ctrl + c退出,Ollama会自己按需启动/停止模型服务
3. 本地配置PG MCP server
这里先使用官方实现的PG MCP server,github.com/modelcontex...,下次再尝试自己实现一个。
bash
git clone [email protected]:modelcontextprotocol/servers.git
cd servers/src/postgres
npm ci
这里可以使用MCP inspector来测试一下本地MCP server部署成功与否:
bash
# debug
npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-postgres postgresql://postgres:postgres@localhost:30432/developer_ems
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
PG的本地部署我就不赘述了,一个docker desktop直接搞定的事。下面是访问MCP inspector的一些截图:


4. 在Continue.dev中添加MCP server并使用
完成以上步骤之后,我们就已经拥有了:
- 一个AI IDE作为MCP host
- 一个能访问PG的MCP server应用
最后我们需要将二者配通,即可完成。
4.1 在Continue.dev的配置中添加如下
通过"Add MCP Servers"直接打开config.json
进行编辑

json
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://postgres:postgres@localhost:35432/postgres"
]
}
}
]
},
保存config.json
,Continue.dev就会自动加载添加的MCP Server。
4.2 检查Tools是否正常被detect
完成上面的步骤后,Continue.dev就可以自动检测出MCP server所提供的Tools,此文章的例子中即是query
这个Tool:

4.3 开始使用Prompt来检测Tool call
此处作者使用如下Prompt:
text
请帮我执行sql语句查询db中所有的tables
这是由于我们使用的MCP server的实现导致的:

好,发送Prompt!

好,完美失败。。。
经过一杯咖啡的思考时间,作者想起来,我们还没有切换成Agent模式。。。于是==重启==IDE并切换至==Agent== mode:

回车发送后即会发现此次Tool call被调用了:(出现double confirm是因为Continue.dev默认MCP server提供的Tools为"Ask first"模式)

成功!!!🚀🚀🚀
总结
那么至此,本次没什么卵用的MCP初体验就算完工了~
虽然本案例对实际开发帮助不大,但万事开头难,相信(我自己都不信)此次0-1的工作完成后,将来1-N的丰富多彩的有效案例将如雨后春笋般涌现!!!