Token导航 LogoToken导航TokenDH.com
Mcpserverkotlin logo
数据服务stdio官方级别未说明来源级核验

Mcpserverkotlin

MCP Server

一个基于Kotlin实现的MCP全栈服务器,使AI代理能够自主构建和管理应用程序。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
Kotlin数据库连接Docker知识图谱

安装说明

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

作者 / 组织

apptolast

提供方

apptolast

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

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

命令预览

docker run -p 3000:3000 mcp-fullstack-server

详细介绍

MCP全栈服务器

用Kotlin实现的MCP(模型上下文协议)全栈服务器,使AI代理能够自主构建和管理应用程序。

概述

该服务器实现了MCP协议,为AI代理提供了强大的功能:

  • 文件系统操作:安全的文件读取、写入和目录管理
  • Bash执行:通过白名单和验证安全执行命令
  • GitHub集成:版本控制操作(git命令)
  • 知识图谱记忆:用于AI上下文的持久存储系统
  • 数据库连接器:PostgreSQL、MongoDB和MySQL集成
  • 资源管理:自定义文档和资源处理

特性

安全第一

  • 路径遍历保护
  • 命令白名单
  • 文件大小和扩展名验证
  • 危险模式检测

Kubernetes就绪

  • Docker支持
  • 包括Kubernetes清单
  • 健康检查和准备情况调查
  • 资源限制和请求

可观察对象

  • 结构化日志记录
  • 健康和准备终点
  • 指标支持(计划中)

CI/CD就绪

  • 使用GitHub Actions自动构建Docker
  • Docker Hub集成
  • 多分支部署支持(主/开发)
  • Kubernetes部署自动化

快速开始

先决条件

  • JDK 21+
  • Gradle 8.10+
  • Kotlin 2.2.0+

建筑

./gradlew build

跑步

./gradlew run

或者使用自定义配置:

export MCP_HOST=0.0.0.0
export MCP_PORT=3000
export MCP_WORKING_DIR=/workspace
./gradlew run

使用Docker运行

docker build -t mcp-fullstack-server -f docker/Dockerfile .
docker run -p 3000:3000 mcp-fullstack-server

测试

运行测试

# Run all tests
./gradlew test

# Run specific test class
./gradlew test --tests "BashExecutorTest"

# Run with coverage report
./gradlew test jacocoTestReport

测试覆盖率

  • 总测试:57项测试(53项有效,4项暂时禁用)
  • 通过率:100%的主动测试(53/53通过);4项测试暂时禁用
  • 按模块覆盖:

- 文件系统:100% - Bash:100% - GitHub:100% - 资源:100% - PostgreSQL:100% - MongoDB:100% - 内存:71%(由于JSONL序列化问题,2个测试被禁用)

有关详细的测试说明,请参阅 测试指南.md.

配置

服务器通过以下方式配置 src/main/resources/application.conf。您可以使用环境变量覆盖设置:

服务器配置

  • MCP_HOST:服务器主机(默认值:0.0.0.0)
  • MCP_PORT:服务器端口(默认值:3000)

文件系统配置

  • MCP_ALLOWED_DIRS:逗号分隔的允许目录列表
  • MCP_MAX_FILE_SIZE:最大文件大小(以字节为单位)(默认值:10MB)

Bash配置

  • MCP_ALLOWED_COMMANDS:逗号分隔的允许命令列表
  • MCP_WORKING_DIR:bash命令的工作目录
  • MCP_COMMAND_TIMEOUT:命令超时(秒)(默认值:300)

GitHub配置

  • MCP_REPO_PATH:git存储库的路径
  • GITHUB_TOKEN:GitHub个人访问令牌

数据库配置

  • POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD
  • MONGODB_CONNECTION_STRING, MONGODB_DB

内存配置

  • MCP_MEMORY_PATH:知识图存储路径

项目结构

mcp-fullstack-server/
├── src/main/kotlin/com/apptolast/mcp/
│   ├── Application.kt              # Main application entry point
│   ├── server/
│   │   └── ServerConfig.kt         # Configuration management
│   ├── modules/
│   │   ├── filesystem/             # Filesystem operations
│   │   ├── bash/                   # Bash command execution
│   │   ├── github/                 # Git/GitHub integration
│   │   ├── memory/                 # Knowledge graph memory
│   │   ├── database/               # Database connectors
│   │   └── resources/              # Resource management
│   ├── transport/                  # MCP transport layers
│   ├── security/                   # Security validation
│   └── util/                       # Utilities and protocol definitions
├── src/main/resources/
│   ├── application.conf            # Application configuration
│   └── logback.xml                 # Logging configuration
├── docker/
│   └── Dockerfile                  # Docker image definition
└── k8s/                           # Kubernetes manifests

API终点

健康和状态

  • GET /:服务器信息
  • GET /health:健康检查
  • GET /ready:准备状态检查
  • GET /info:服务器功能和版本

模块

文件系统模块

通过以下方式提供安全的文件系统操作:

  • 路径验证和遍历保护
  • 文件大小限制
  • 扩展白名单
  • 读取、写入、列出、创建和删除操作

Bash执行器模块

通过以下方式安全执行命令:

  • 命令白名单
  • 危险模式检测
  • 超时保护
  • 工作目录隔离

内存模块

持久AI记忆的知识图:

  • 实体创建和存储
  • 关系管理
  • 图搜索和遍历
  • 基于JSONL的存储

安全

服务器实现了多个安全层:

  1. 路径验证:所有文件系统操作都会根据允许的目录验证路径
  2. 命令白名单:只能执行明确允许的命令
  3. 危险模式检测:阻止已知的危险命令模式
  4. 文件大小限制:防止大文件操作
  5. 扩展过滤:只能访问允许的文件扩展名
  6. 超时保护:命令有执行时间限制

发展

运行测试

./gradlew test

代码风格

这个项目遵循Kotlin编码规范。格式化代码:

./gradlew ktlintFormat

部署

码头工人

该项目包括带有GitHub Actions的自动化CI/CD:

# Automated deployment (triggered on push to main/develop)
git push origin main

.github/QUICKSTART.md 获取完整的CI/CD文档。

手动Docker构建

docker build -t mcp-fullstack-server -f docker/Dockerfile .
docker run -p 3000:3000 mcp-fullstack-server

Kubernetes

应用Kubernetes清单:

kubectl apply -f k8s/

这将创建:

  • 使用MCP服务器进行部署
  • 内部/外部访问服务
  • 用于配置的ConfigMap
  • 敏感数据的秘密
  • 持久卷数据存储索赔

有关CI/CD构建后的Kubernetes自动更新,请参阅 .github/workflows/README.md.

许可证

有关详细信息,请参阅LICENSE文件。

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

支持

对于问题和疑问:

  • 在GitHub上创建问题
  • 检查技术规范文件

路线图

完整的实施路线图见技术规范文件,包括:

  • 第一阶段:基础(文件系统、Bash)
  • 第二阶段:Git和内存集成
  • 第3阶段:数据库连接器
  • 第四阶段:集装箱化和K8s
  • 第5阶段:可观察性和测试
  • 第6阶段:硬化和生产

技术规范

有关详细的技术信息、体系结构和实现细节,请参阅 McpServerTecnicalDocument.txt.

目录标签

目录标签

Kotlin数据库连接Docker知识图谱本地部署AI代理文件系统操作Bash执行GitHub集成

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP