mcp-codestyle
MCP Codestyle Server 是一个基于 Spring AI 实现的 Model Context Protocol (MCP) 服务器,为 IDE 和 AI 代理提供代码模板搜索和检索工具。该服务从本地缓存查找模板,并在缺失时自动从远程仓库下载元数据和文件进行修复。
Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio itxaiohanglover-mcp-codestyle-server java -Dspring.ai.mcp.server.stdio=true -Dspring.main.web-application-type=none -Dlogging.pattern.console= -Dfile.encoding=UTF-8 -jar /path/to/codestyle-server.jar \ --env CODESTYLE_CACHE_PATH="本地缓存路径,例如 /data/mcp-cache 或通过此环境变量覆盖默认路径" \ --env CODESTYLE_REMOTE_ENABLED="是否启用远程检索,例如 true/false"
How to use
Codestyle 是一个基于 Java Spring Boot 的 MCP 服务器,提供代码模板的本地索引检索和模板生成能力。它实现了多种 MCP 工具,包括 codestyleSearch、getTemplateByPath、uploadTemplate、uploadTemplateFromFileSystem、deleteTemplate、extractProjectSkeleton 以及 exploreCodeContext。通过 MCP 客户端(如 Cherry Studio、Cursor)连接该服务器,用户可以在本地或远程检索模板、查看模板结构、获取模板内容并按变量填充生成代码。该服务器默认使用本地 Lucene 索引进行全文检索,且支持与远程 Open API 的签名认证模式,方便在离线和在线两种环境下工作。
How to install
准备好环境后,按照以下步骤安装并运行 Codestyle MCP 服务器。
Prerequisites:
- Java 17+ (JDK 17 or higher)
- Maven 3.9+(用于构建服务器 JAR)
- Git(用于获取代码仓库)
- 克隆仓库并构建 JAR
git clone https://github.com/itxaiohanglover/mcp-codestyle-server.git
cd mcp-codestyle-server
mvn clean package -DskipTests
- 运行服务器(示例)
# 启动命令示例,需将路径替换为实际 jar 路径
java -Dspring.ai.mcp.server.stdio=true \
-Dspring.main.web-application-type=none \
-Dlogging.pattern.console= \
-Dfile.encoding=UTF-8 \
-jar target/codestyle-server-*.jar
- 配置 MCP 客户端
- 在 MCP 客户端添加配置,指向本服务器并使用 jar 启动参数,例如:
{
"mcpServers": {
"codestyle": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-Dfile.encoding=UTF-8",
"-jar",
"/path/to/codestyle-server.jar"
]
}
}
}
- 验证启动
- 成功启动后,MCP 客户端应能自动连接并显示可用模板和目录结构。
Additional notes
Tips 与 常见注意点:
- 启动时可通过配置 application.yml 或环境变量覆盖本地缓存路径、远程检索开关等,示例环境变量如 CODESTYLE_CACHE_PATH、CODESTYLE_REMOTE_ENABLED。
- 本服务器支持多版本模板的 Maven 风格存放结构:groupId/artifactId/version/,每个版本拥有独立的 meta.json 描述和模板文件。
- 如果遇到本地缓存路径未配置等问题,检查 repository.local-path 是否在配置中正确设置,或通过 CODESTYLE_CACHE_PATH 指定路径。
- 当启用远程检索时,需要配置 base-url、access-key、secret-key 等凭据,确保远程服务可访问。
- Lucene 索引离线可用,首次搜索可能需要较长时间建立索引;后续搜索应更快。
- 通过 extractProjectSkeleton 和 exploreCodeContext 可以对项目骨架进行深度分析和代码上下文检索。