llamacpp mcp
用于运行本地LLM的MCP(模型上下文协议)包装器,使用 llama-cpp-python该项目提供了一个框架,用于将本地语言模型集成为MCP工具,并内置对SmileyLlama等专用模型的支持。
SmileyLlama集成
为具有细粒度约束的类药物分子生成SMILES字符串(化学符号):
- Lipinski的五法则验证
- 氢键供体/受体极限
- 分子量和LogP约束
- 弹头SMARTS图案匹配
- 宏周期检测和滤波
- 还有更多。..
安装
先决条件
- Python≥3.13
uv(推荐)或pip
设置
克隆存储库并安装依赖项:
git clone
cd llamacpp-mcp
uv sync后端配置
这 llama-cpp-python 库需要使用硬件加速支持进行编译。为您的系统选择合适的后端:
CUDA (NVIDIA GPU):
CMAKE_ARGS="-DGGML_CUDA=on" uv pip install llama-cpp-python --force-reinstall --no-cache-dirROCm (AMD GPU):
CMAKE_ARGS="-DGGML_HIPBLAS=on" uv pip install llama-cpp-python --force-reinstall --no-cache-dir金属 (苹果硅):
CMAKE_ARGS="-DGGML_METAL=on" uv pip install llama-cpp-python --force-reinstall --no-cache-dir仅CPU (无GPU加速):
uv sync用法
运行代理示例
设置您的 example/fastagent.secrets.yaml:
anthropic:
api_key: your-api-key-here然后在终端中运行代理界面:
cd example/
uv run --extra agent agent.py运行MCP服务器
使用GGUF型号启动MCP服务器:
uv run llamacpp-mcp -i /path/to/model.gguf其他参数可以作为命令行参数传递:
uv run llamacpp-mcp --input model.gguf -n_gpu_layers -1 -n_threads 8常用参数:
-n_gpu_layers:要卸载到GPU的模型层数(全部为-1)-n_threads:要使用的CPU线程数-n_ctx:上下文窗口大小-verbose:详细程度
可用工具
generate_微笑
为具有可选约束的类药物分子生成SMILES字符串。
参数:
max_hbond_donors:最大氢键供体max_hbond_acceptors:最大氢键受体max_molecular_weight:最大分子量max_clogp:最大计算LogPlipinski_rule_of_five:执行利平斯基的五分法rule_of_three:对片段状分子执行三法则- 以及其他约束选项。..
依赖项
核心:
fastmcp>=2.13.1-MCP服务器框架llama-cpp-python>=0.3.16-LLM推理机
可选:
fast-agent-mcp>=0.2.25-用于基于代理的集成
发展
项目设置
该项目使用 uv 用于依赖性管理。安装uv后,运行:
uv sync这将在本地虚拟环境中安装所有依赖项。
添加新模型
要添加新的模型类型,请执行以下操作:
- 在下创建子目录
src/llamacpp_mcp/models/ - 实施
models.py使用Pydantic约束定义 - 实施
tools.py具有刀具注册功能 - 在主界面中导入和注册工具
__init__.py
配置
模型参数可以通过以下方式配置:
- 命令行参数 -直接传递到
llamacpp-mcp - 环境变量 -在运行服务器之前设置
- 代理工具配置 -请参阅
example/fastagent.config.yaml供参考
许可证
MIT许可证
作者
卢卡斯·金
