使用说明
巴赫mcp
bach-mcp 桥梁 bach.roll 在Max获得法学硕士学位。
快速入门
运行首次安装说明(见下文)后,您可以通过以下步骤开始使用bach MCP:
- 导航到您的
bach-mcp使用文件夹并激活您的conda环境conda activate bach-mcp - 使用以下命令启动MCP服务器
python py/main.py - 使用以下命令启动llama.cpp服务器
llama-server - 在Max中,打开
bach-mcp.maxpat并击中script start消息 - 在浏览器中,导航到llama.cpp webui,网址为
https://localhost:8080然后开始聊天
安装说明(llama.cpp)
1.安装 (Python 3.11):
git clone https://github.com/dzluke/bach-mcp.git
cd bach-mcp
conda env create -f environment.yml
conda activate bach-mcp
python -m pip install -r requirements.txt
2.设置Max --复制 max/bach-mcp 将文件夹放入Max Packages文件夹,
打开修补程序,并启动Node网桥:
- macOS:
~/Documents/Max 9/Packages/ - 窗户:
%USERPROFILE%\Documents\Max 9\Packages\
然后打开 max/bach-mcp/patchers/bach-mcp.maxpat 然后跑 script start 在
补丁。
3.启动服务器:
服务器必须保持运行才能与之交互,请运行以下命令启动它:
python py/main.py # serves over HTTP at http://127.0.0.1:8000/mcp
4.启动llama服务器(llama.cpp)
安装llama.cpp后,使用以下命令运行llama.cp服务器:
llama-server
这托管了一个web UI,您可以使用它与本地LLM聊天。跑 llama-server -h 用于设置上下文窗口、缓存类型等的标志。
5.将MCP服务器添加到llama服务器web UI
打开llama服务器web UI http://localhost:8080.
- 点击
+聊天栏旁边的图标,导航到“MCP服务器”->“管理MCP服务器” - 在“管理服务器”下,单击“添加新服务器”
- 在“服务器URL”字段中,输入启动MCP服务器时打印的URL(默认为
http://127.0.0.1:8000/mcp) - 单击“添加”,保存设置,然后开始与LLM聊天
安装说明(Claude Desktop)
在这里,主机为您启动流程,您也可以这样做 不 用手启动-- 您只需在主机的配置中注册它。
- 安装克劳德桌面:
https://claude.ai/download - 将Claude Desktop指向此MCP服务器。
Claude配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
示例(claude_desktop_config.json 这个仓库中有一个副本——编辑
匹配您机器的绝对路径):
{
"mcpServers": {
"bach-mcp": {
"command": "/absolute/path/to/conda/envs/bach-mcp/bin/python",
"args": ["/absolute/path/to/bach-mcp/py/main.py", "serve", "--stdio"],
"cwd": "/absolute/path/to/bach-mcp"
}
}
}
这 --stdio 旗是 必需的 这里:默认传输是HTTP,所以
如果没有它,启动的进程将启动一个HTTP侦听器,主机无法通信
越过管道。
然后完全重新启动Claude Desktop。
文件映射(每个文件的用途)
根文件
README.md:设置和使用。environment.yml:Conda-env定义(Python 3.11)。requirements.in:直接依赖Python(mcp,requests).requirements.txt:pip安装的固定、编译的依赖锁。claude_desktop_config.json:示例Claude Desktop MCP服务器配置 标准 传输(编辑绝对路径)。.gitignore/.gitattributes:忽略规则和Git文本规范化。
Python包(py/)
py/main.py:具有两个子命令的单个入口点--serve(默认情况下;MCP服务器用于MCP主机应用程序,如Claude Desktop,默认情况下通过HTTP或stdio--stdio)以及agent(针对任何OpenAI兼容提供商的自托管REPL)。两者构造相同BachMCPServer+FastMCP应用程序。py/bach_mcp/__init__.py:公共出口。py/bach_mcp/server.py:高级网桥服务器(消息队列、发送/等待帮助程序、生命周期)。py/bach_mcp/tcp.py:低级TCP服务器/客户端类(3001入境,3000出境)。py/bach_mcp/mcp_app.py:FastMCP工具注册——工具的唯一真实来源,由两个角色使用。py/bach_mcp/mcp_tools.py:将MCP工具暴露给本地代理的进程中桥接(list_tools/call_tool).py/bach_mcp/agent.py:与提供者无关的工具调用循环(Agent,AgentConfig).py/bach_mcp/BACH_SKILL.md:系统提示/技能(会话协议、llll语法、插槽、管弦乐布局)。py/bach_mcp/bach_score_schema.json:描述巴赫乐谱格式的JSON模式。py/bach_mcp/llm/provider.py:LLMProvider接口,中性类型(ToolSpec/ToolCall/AssistantTurn),ProviderConfig,以及build_provider()工厂。py/bach_mcp/llm/openai_compat.py:OpenAICompatibleProvider--涵盖Ollama、llama.cpp、vLLM、OpenAI等。
最大包装(max/bach-mcp)
max/bach-mcp/patchers/bach-mcp.maxpat:修补程序包含bach.roll,bach.portal,以及node.script.max/bach-mcp/js/bachTCP.js:Max TCP网桥的节点。- Max继续收听
0.0.0.0:3000用于Python命令。 - Max客户端连接到Python
127.0.0.1:3001用于回复/事件。
- Max继续收听
