Maven Dependencies MCP Server
Maven 의존성 버전을 확인하기 위한 도구를 제공하는 MCP(Model Context Protocol) 서버입니다. 이 서버를 통해 LLM은 Maven 의존성을 검증하고 Maven Central Repository에서 최신 버전을 가져올 수 있습니다.
설치
npm을 사용하여 이 MCP 서버를 전역으로 설치할 수 있습니다:
npm install -g mcp-maven-deps또는 npx를 사용하여 직접 실행할 수 있습니다:
npx mcp-maven-depsSmithery를 통한 설치
Smithery를 통해 Claude Desktop용 Maven Dependencies Server를 자동으로 설치하려면:
npx -y @smithery/cli install maven-deps-server --client claudeRelated MCP server: Minecraft Plugin Documentation MCP Server
기능
모든 Maven 의존성의 최신 안정 릴리스 가져오기 (기본적으로 사전 릴리스 제외)
Maven 의존성 존재 여부 확인
특정 버전의 의존성 존재 여부 확인
선택적 사전 릴리스 필터링을 포함한 Maven 의존성 버전 목록 나열
지능형 사전 릴리스 감지 (alpha, beta, milestone, RC, snapshot)
패키징 및 분류자를 포함한 전체 Maven 좌표 지원
Maven Central Repository 데이터에 대한 실시간 액세스
다양한 빌드 도구 형식 지원 (Maven, Gradle, SBT, Mill)
개발을 위한 방법:
이 저장소를 복제합니다.
의존성을 설치합니다:
npm install서버를 빌드합니다:
npm run build
구성
MCP 설정 구성 파일에 서버를 추가합니다:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps"]
}
}
}전역으로 설치된 경우 다음을 사용할 수도 있습니다:
{
"mcpServers": {
"maven-deps-server": {
"command": "mcp-maven-deps"
}
}
}전송 옵션
이 서버는 두 가지 전송 모드를 지원합니다:
stdio (기본값) - 표준 입출력 통신
SSE (Server-Sent Events) - 선택적 원격 액세스가 가능한 HTTP 기반 통신
SSE 전송을 사용하려면 호스트와 포트를 모두 지정할 수 있습니다:
# Local access only (default host: localhost)
npx mcp-maven-deps --port=3000
# Remote access
npx mcp-maven-deps --host=0.0.0.0 --port=3000MCP 설정에서 SSE 전송을 사용할 때:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--port=3000"]
}
}
}원격 액세스의 경우 클라이언트 구성에서 서버의 IP 또는 호스트 이름을 사용하십시오:
{
"mcpServers": {
"maven-deps-server": {
"command": "npx",
"args": ["mcp-maven-deps", "--host=your-server-ip", "--port=3000"]
}
}
}사용 가능한 도구
get_latest_release
Maven 의존성의 최신 안정 릴리스 버전을 가져옵니다. 기본적으로 프로덕션 준비가 완료된 버전을 얻을 수 있도록 사전 릴리스 버전(alpha, beta, milestone, RC, snapshot)은 제외됩니다.
입력 스키마:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:version][:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:5.3.20:jar\")"
},
"excludePreReleases": {
"type": "boolean",
"description": "Whether to exclude pre-release versions (alpha, beta, milestone, RC, snapshot). Default: true",
"default": true
}
},
"required": ["dependency"]
}사용 예시:
// Get latest stable release (default behavior)
const result1 = await mcpClient.callTool("maven-deps-server", "get_latest_release", {
dependency: "org.springframework:spring-core"
});
// Returns: "6.2.8" (latest stable, excludes "7.0.0-M6" milestone)
// Include pre-releases if needed
const result2 = await mcpClient.callTool("maven-deps-server", "get_latest_release", {
dependency: "org.springframework:spring-core",
excludePreReleases: false
});
// Returns: "7.0.0-M6" (includes pre-releases)check_maven_version_exists
특정 버전의 Maven 의존성이 존재하는지 확인합니다. 버전은 의존성 문자열 내에 제공하거나 별도의 매개변수로 제공할 수 있습니다.
입력 스키마:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:version][:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:5.3.20:jar\")"
},
"version": {
"type": "string",
"description": "Version to check if not included in dependency string"
}
},
"required": ["dependency"]
}사용 예시:
// Using version in dependency string
const result1 = await mcpClient.callTool("maven-deps-server", "check_maven_version_exists", {
dependency: "org.springframework:spring-core:5.3.20"
});
// Using separate version parameter
const result2 = await mcpClient.callTool("maven-deps-server", "check_maven_version_exists", {
dependency: "org.springframework:spring-core",
version: "5.3.20"
});list_maven_versions
Maven 의존성 버전을 배포 순서(최신순)로 나열하며, 선택적으로 사전 릴리스 필터링 및 깊이 제어가 가능합니다. 출력은 한 줄에 하나의 버전으로 표시됩니다.
입력 스키마:
{
"type": "object",
"properties": {
"dependency": {
"type": "string",
"description": "Maven coordinate in format \"groupId:artifactId[:packaging][:classifier]\" (e.g. \"org.springframework:spring-core\" or \"org.springframework:spring-core:jar\")"
},
"depth": {
"type": "number",
"description": "Number of versions to return (default: 15)",
"minimum": 1,
"maximum": 100
},
"excludePreReleases": {
"type": "boolean",
"description": "Whether to exclude pre-release versions (alpha, beta, milestone, RC, snapshot). Default: true",
"default": true
}
},
"required": ["dependency"]
}사용 예시:
// Get last 15 stable versions (default - excludes pre-releases)
const result1 = await mcpClient.callTool("maven-deps-server", "list_maven_versions", {
dependency: "org.springframework:spring-core"
});
// Returns only stable versions: "6.2.8\n6.1.21\n6.2.7\n..."
// Get last 5 versions including pre-releases
const result2 = await mcpClient.callTool("maven-deps-server", "list_maven_versions", {
dependency: "org.springframework:spring-core",
depth: 5,
excludePreReleases: false
});
// Returns: "7.0.0-M6\n6.2.8\n6.1.21\n7.0.0-M5\n6.2.7"구현 세부 정보
Maven Central의
maven-metadata.xml을 직접 쿼리합니다 (https://repo1.maven.org/maven2/<g>/<a>/maven-metadata.xml). 이는 Maven과 Gradle이 의존성 해결 시 참조하는 권위 있는 파일입니다. 배포 후 몇 초 이내에 업데이트되므로 결과가 항상 최신 상태입니다.전체 Maven 좌표(groupId:artifactId:version:packaging:classifier)를 지원합니다.
정규식 패턴 매칭을 사용한 지능형 사전 릴리스 감지 기능을 제공합니다.
maven-metadata.xml에 기록된 대로 배포 순서(최신순)로 버전을 반환합니다.잘못된 의존성 및 API 문제에 대한 오류 처리를 포함합니다.
유효한 의존성에 대해 깔끔하고 파싱 가능한 버전 문자열을 반환합니다.
버전 존재 여부 확인에 대해 불리언(boolean) 응답을 제공합니다.
사전 릴리스 감지
서버는 다음 패턴을 사용하여 사전 릴리스 버전을 자동으로 감지합니다:
Alpha:
-alpha,-aBeta:
-beta,-bMilestone:
-milestone,-m,-MRelease Candidate:
-rc,-crSnapshot:
-snapshot
예시:
7.0.0-M6→ 사전 릴리스 (milestone)6.2.8→ 안정 릴리스3.1.0-SNAPSHOT→ 사전 릴리스 (snapshot)2.5.0-RC1→ 사전 릴리스 (release candidate)
주요 변경 사항 알림: 도구 이름이 get_maven_last_updated_version에서 get_latest_release로 변경되었으며, 이제 기본적으로 사전 릴리스가 제외됩니다. 이를 통해 프로덕션 애플리케이션은 기본적으로 안정적인 버전을 얻을 수 있으며, 필요한 경우 사전 릴리스에 액세스할 수도 있습니다.
오류 처리
서버는 다음과 같은 다양한 오류 상황을 처리합니다:
잘못된 의존성 형식
잘못된 버전 형식
존재하지 않는 의존성
안정적인 릴리스를 찾을 수 없음 (필터링 활성화 시)
API 연결 문제
잘못된 형식의 응답
누락된 버전 정보
개발
서버를 수정하거나 확장하려면:
src/index.ts를 수정합니다.npm run build를 사용하여 다시 빌드합니다.변경 사항을 적용하려면 MCP 서버를 다시 시작합니다.
라이선스
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bigsy/maven-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
