使用说明
使用具有OpenAI兼容端点的MCP服务器(即Ollama)
一个简单的C#应用程序,使用具有OpenAI兼容端点的MCP服务器进行演示,使AI助手能够与工具进行交互。
> list all the files in /tmp/
[TOOLCALL_START] list_directory
[TOOLCALL_END] list_directory (52ms)
[ARGS] {"path":"/tmp/"}
[RESULT] {"content":[{"type":"text","text":"[FILE] adventures_of_a_clumsy_clown.txt\n[FILE] bananas_gone_wild...
Here is a list of the files in the `/tmp/` directory:
1. adventures_of_a_clumsy_clown.txt
2. bananas_gone_wild.txt
3. bigfoot_s_baby_photos.txt
4. dancing_p_Enguins_in_disneyland.txt
5. life_according_to_potato.txt
6. mysterious_case_of_the_missing_cupcake.txt
7. stupendous_squirrel_antics.txt
8. TEST.txt
9. the_grumpy_cow_diaries.txt
10. the_little_taco_that_could.txt
11. the_mysterious_case_of_the_missing_socks.txt
>
快速概览
演示如何:
- 连接到MCP服务器(特别是官方MCP服务器文件系统)
- 与OpenAI兼容的API集成(通过Ollama为本地模型配置)
- 通过函数调用使语言模型能够使用MCP工具
- 创建具有流式响应的交互式聊天界面
先决条件
- .NET 8.0或更高版本
- Node.js和npm/npx(用于运行MCP服务器)
- Ollama(或另一个与OpenAI兼容的API端点)
- 兼容的语言模型(例如。,
Mistral-Small-3.2-24B-Instruct-2506)
依赖项
此项目使用以下NuGet包:
Microsoft.Extensions.AI-用于AI抽象和聊天客户端功能ModelContextProtocol.Client-用于MCP客户端实现OpenAI-对于OpenAI API兼容性
配置
应用程序已预先配置为:
- 通过npx运行MCP文件系统服务器(相应地调整Node.js路径)
- 在上连接到本地兼容OpenAI的API
http://127.0.0.1:11434/v1/(即默认Ollama端点) - 使用
mistral-small3.2:24b-instruct-2506-q4_K_MOllama注册表中的模型
定制
要修改配置,请执行以下操作:
MCP服务器:更改服务器类型或参数 McpClientFactory.CreateAsync 更新以下内容(您可以在以下网址找到参考服务器https://github.com/modelcontextprotocol/servers?tab=readme-ov文件#-参考服务器):
Command = @"npx",
Arguments = ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
API端点:更新OpenAI客户端配置:
Endpoint = new("http://127.0.0.1:11434/v1/")
模型:在中更改模型名称 GetChatClient 如下所示(您可以在以下网址查看Ollama模型支持工具https://ollama.com/search?c=tools)
.GetChatClient("your-model-name")
用法
-
克隆存储库:
git clone https://github.com/dranger003/McpTools.git cd McpTools -
确保Ollama使用您想要的型号运行:
ollama run mistral-small3.2:24b-instruct-2506-q4_K_M -
运行应用程序:
dotnet run -
与聊天界面交互:
> List the files in /tmp [AI responds with file listing] > Read the contents of example.txt [AI reads and displays file contents] -
按
<Enter>在空行上退出控制台应用程序。
运作原理
-
MCP连接:应用程序生成一个MCP文件系统服务器作为子进程,提供对文件系统操作的访问。
-
工具注册:可用的MCP工具会自动被发现并在聊天客户端注册。
-
函数调用:当AI需要执行文件操作时,它使用函数调用来调用相应的MCP工具。
-
流媒体响应:聊天界面实时流式传输响应,以获得更好的用户体验。
平台说明
当前配置包括Node.js的Windows特定路径。如果在Linux或macOS上运行,您可能需要调整PATH配置。
