Token导航 LogoToken导航TokenDH.com
My Simple MCP Client And Server logo
开发工具未说明官方级别未说明来源级核验

My Simple MCP Client And Server

MCP Server

一个基于Java的命令行代理工具,使用Ollama进行本地LLM推理,LangChain4j进行编排,PicoCLI提供命令行界面,并通过MCP协议集成工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
本地LLM命令行工具JavaAI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hubgitub

提供方

hubgitub

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Ollama MCP代理

使用的Java CLI代理 奥拉玛 对于局部LLM推断, LangChain4j 对于编排, PicoCLI 对于命令行界面,以及 MCP(模型上下文协议) 用于工具集成。

包括一个提供随机报价的示例MCP服务器。

建筑

┌────────────────────────────────────────────────┐
│                   Agent                        │
│  ┌──────────┐  ┌────────────┐  ┌──────────┐    │
│  │ PicoCLI  │→ │ LangChain4j│→ │  Ollama  │    │
│  │ (CLI)    │  │ AiServices │  │  (LLM)   │    │
│  └──────────┘  └─────┬──────┘  └──────────┘    │
│                      │                         │
│               ┌──────┴──────┐                  │
│               │McpToolProvider│                │
│               └──────┬──────┘                  │
└──────────────────────┼─────────────────────────┘
                       │ STDIO
              ┌────────┴────────┐
              │  Quote Server   │
              │  (MCP Server)   │
              └─────────────────┘

先决条件

  • Java 21 (LTS)
  • Maven 3.x
  • 奥拉玛 安装并运行模型(例如。, ollama pull llama3.2)

构建

cd ollama-mcp-agent
mvn clean package

这将构建所有三个模块,并为代理和报价服务器生成胖JAR。

用法

无需MCP即可运行代理(与Ollama直接聊天)

java -jar agent/target/agent-1.0.0-SNAPSHOT.jar

使用报价MCP服务器运行代理

java -jar agent/target/agent-1.0.0-SNAPSHOT.jar \
  --mcp-server "java -jar quote-server/target/quote-server-1.0.0-SNAPSHOT.jar"

然后询问报价:

You: Give me an inspirational quote
Assistant: "The future belongs to those who believe in the beauty of their dreams." — Eleanor Roosevelt [INSPIRATION]

CLI选项

选项简短描述默认
--model-mOlama型号名称llama3.2
--url-u 基础 URLhttp://localhost:11434
--mcp-serverMCP服务器命令(可重复)
--help-h显示帮助
--version-V显示版本

例子

使用不同的模型:

java -jar agent/target/agent-1.0.0-SNAPSHOT.jar -m mistral

连接到远程Ollama实例:

java -jar agent/target/agent-1.0.0-SNAPSHOT.jar -u http://192.168.1.100:11434

多个MCP服务器:

java -jar agent/target/agent-1.0.0-SNAPSHOT.jar \
  --mcp-server "java -jar quote-server/target/quote-server-1.0.0-SNAPSHOT.jar" \
  --mcp-server "python my-other-server.py"

项目结构

ollama-mcp-agent/
├── pom.xml                  # Parent POM with dependency management
├── quote-common/            # Shared DTOs (Quote, QuoteCategory)
├── quote-server/            # MCP server providing random quotes
│   └── QuoteServerMain      #   Entry point (STDIO transport)
│   └── QuoteToolHandler     #   Tool definitions
│   └── InMemoryQuoteRepository  # 20 hardcoded quotes
└── agent/                   # CLI agent application
    ├── AgentCommand          #   PicoCLI entry point (Facade)
    ├── config/               #   Configuration (Builder pattern)
    ├── llm/                  #   LLM abstraction (Strategy pattern)
    ├── mcp/                  #   MCP client management
    ├── chat/                 #   Chat session and AI Services
    ├── event/                #   Event system (Observer pattern)
    └── io/                   #   Console I/O abstraction

设计模式

模式地点原因
战略ChatModelProvider可更换LLM后端
工厂ChatModelProviderFactory, AssistantServiceFactory集中式对象创建
建设者AgentConfigBuilder复杂的不可变配置构造
观察员ChatEventListener / ChatEvent解耦事件处理
存储库QuoteRepository / InMemoryQuoteRepository抽象数据访问
立面AgentCommand.run()编排启动顺序

如何扩展

添加新的LLM提供程序

  1. 实施 ChatModelProvider 接口
  2. 更新 ChatModelProviderFactory 根据配置返回您的提供者

添加新的MCP服务器

  1. 使用Java MCP SDK创建服务器(请参阅 quote-server 作为参考)
  2. 通过 --mcp-server "command to start your server"

向报价服务器添加新工具

  1. 添加新 SyncToolSpecificationQuoteToolHandler
  2. 代理将通过MCP自动发现它

技术栈

版本目的
Java21语言
Maven3.x构建工具
LangChain4j1.0.0-b2LLM版本。
PicoCLI4.7.7CLI解析
J MCP SD K0.10.0MCP服务器
JUnit55.11.3测试
Mockito5.14.2模仿

ADR文件

目录标签

目录标签

本地LLM命令行工具JavaAI代理本地部署Java开发

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP