Token导航 LogoToken导航TokenDH.com
Rag Demo logo
AI代理未说明官方级别未说明来源级核验

Rag Demo

MCP Server

一个基于Kotlin MCP SDK实现的模型上下文协议(MCP)服务器,提供LLM上下文管理和RAG管道功能。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
KotlinAI服务ClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

jaflaten

提供方

jaflaten

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

MCP服务器演示-Hello World

一个简单的“Hello World”模型上下文协议(MCP)服务器实现,使用 Kotlin MCP SDK.

什么是MCP?

模型上下文协议(MCP)是一种标准化的协议,允许应用程序以一致的方式为大型语言模型(LLM)提供上下文。它将提供上下文的关注点与实际的LLM交互分开,实现了更好的模块化和可重用性。

项目概述

该项目展示了:

MCP服务器功能

  • 2工具:hello(问候),echo(消息重复)
  • 2资源:服务器信息,动态问候语
  • 输入消毒:防止注射攻击

RAG管道(新!)

一个完整的检索增强生成系统,包括:

  • 文件摄入:读取和解析Markdown/文本文件
  • 智能分块:句子意识分裂与重叠
  • 矢量嵌入:OpenAI文本嵌入3-small
  • 矢量存储器:具有JSON持久性的内存数据库

RAG_README.md 获取完整的RAG文档。

先决条件

  • Java 17或更高版本
  • Gradle(包装内含)

建设项目

./gradlew clean build

运行服务器

您可以在两种模式下运行MCP服务器:

1.标准模式(适用于克劳德桌面、MCP检查器)

服务器使用STDIO传输与MCP客户端通信:

./gradlew run

或者运行编译后的JAR:

java -jar build/libs/mcp-server-demo-0.0.1-all.jar

2.HTTP模式(用于Web应用程序、API)

在端口8080上作为HTTP服务器运行:

./gradlew runHttpServer

然后通过HTTP访问:

# Health check
curl http://localhost:8080/health

# Call a tool
curl -X POST -H "Content-Type: application/json" \
  -d '{"tool":"rag_query","arguments":{"query":"What type is Lapras?"}}' \
  http://localhost:8080/mcp/call

HTTP_MCP_SERVER.md 获取完整的HTTP API文档。

可用工具

1.你好

用可选的个性化消息问候用户。

参数:

  • name (可选):要问候的人的姓名

示例:

  • 无名称:返回“Hello,World!欢迎使用MCP Hello World服务器!”
  • 使用name:返回“Hello,\[name\]!欢迎使用MCP Hello World服务器!”

2.回声

回应您提供的信息。

参数:

  • message (必填):要回显的消息

例子:

  • 输入:“测试消息”
  • 输出:“回声:测试消息”

可用资源

1.服务器信息

提供服务器信息的静态资源。

URI: hello://server/info\ 类型: 文本/纯文本\ 内容: 服务器版本、功能和描述

2.个性化问候

生成个性化问候消息的动态资源。

URI模式: hello://greetings/{name}\ 类型: 文本/纯文本\ URI示例:

  • hello://greetings/Alice -问候爱丽丝
  • hello://greetings/Bob -问候Bob

内容: 带有时间戳的个性化问候

项目结构

.
├── build.gradle.kts              # Gradle build configuration
├── src/
│   └── main/
│       └── kotlin/
│           └── HelloWorldMcpServer.kt  # Main MCP server implementation
└── README.md                      # This file

关键组件

服务器设置

服务器配置了:

  • 名字:hello world服务器
  • 版本: 1.0.0
  • 能力:

- 支持列表更改通知的工具 - 资源(静态和动态)

  • 运输:STDIO(标准输入/输出)
  • 安全:输入净化和验证(参见 安全.md)

代码亮点

// Creating the server
val server = Server(
    serverInfo = Implementation(
        name = "hello-world-server",
        version = "1.0.0"
    ),
    options = ServerOptions(
        capabilities = ServerCapabilities(
            tools = ServerCapabilities.Tools(listChanged = true)
        )
    )
) {
    "A simple Hello World MCP server demonstrating tool capabilities"
}

// Adding a tool
server.addTool(
    name = "hello",
    description = "Returns a friendly greeting message...",
    inputSchema = Tool.Input(
        properties = buildJsonObject {
            putJsonObject("name") {
                put("type", "string")
                put("description", "The name of the person to greet (optional)")
            }
        },
        required = emptyList()
    )
) { request ->
    // Tool implementation
}

依赖项

  • Kotlin MCP SDK (0.7.7):核心MCP协议实现
  • 哪个:HTTP客户端和服务器框架
  • Kotlinx IO:Kotlin的现代IO原语
  • Kotlinx序列化:JSON处理

安全

此服务器实现了输入净化,以防止常见漏洞:

  • 控制字符过滤(换行符、制表符等)
  • 防止DoS攻击的长度限制
  • 空白修剪
  • 消毒后验证

有关详细信息,请参阅 安全.md.

使用MCP客户端进行测试

要测试此服务器,您需要一个MCP客户端。你可以:

  1. 使用 MCP官方检查员
  2. 使用MCP Kotlin SDK构建自定义客户端
  3. 与支持MCP的LLM应用程序集成(如Claude Desktop)

更多资源

许可证

这个项目是开源的,可以在MIT许可证下使用。

此项目是使用创建的 Ktor项目生成器.

以下是一些帮助您入门的有用链接:

请求邀请 加入。

特性

以下是此项目中包含的功能列表:

名称描述
路由允许定义结构化路由和相关处理程序。

建筑与运营

要构建或运行项目,请使用以下任务之一:

任务描述
./gradlew test运行测试
./gradlew build构建一切
./gradlew buildFatJar构建包含所有依赖项的服务器的可执行JAR
./gradlew buildImage构建docker镜像以与胖JAR一起使用
./gradlew publishImageToLocalRegistry在本地发布docker镜像
./gradlew run运行服务器
./gradlew runDocker使用本地docker镜像运行

如果服务器成功启动,您将看到以下输出:

2024-12-04 14:32:45.584 [main] INFO  Application - Application started in 0.303 seconds.
2024-12-04 14:32:45.682 [main] INFO  Application - Responding at http://0.0.0.0:8080

目录标签

目录标签

KotlinAI服务Claude本地部署LLM上下文管理RAG系统Kotlin开发模型协议

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP