Mcp Server
Enforces FastAPI-specific rules such as router imports, dependency usage, and request/response schema naming.
Analyzes Python projects for coding conventions, layer architecture, and framework-specific rules.
Enforces Spring-specific rules such as controller, service, and repository annotations, and layered architecture.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mcp Servercheck dependencies in ./my-project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mcp Server
MCP(Model Context Protocol) 기반 코딩 컨벤션 / 아키텍처 규칙 점검 서버입니다.
다른 Git 프로젝트(로컬 경로 또는 Git URL)를 입력하면, 의존성·보안 점검과 Python/Java 규칙 분석 등을 MCP 도구(tools) 로 호출할 수 있습니다.
구조
server.py—FastMCP인스턴스와@mcp.tool()로 노출되는 MCP 도구 정의.
순번 | 한글 레이블 | 도구 이름 (호출 시) | 인자·역할 요약 |
1 | 생존 확인 |
| MCP 서버 응답 확인 |
2 | 금지 라이브러리 점검 |
| 예: |
3 | 비밀정보 후보 탐지 |
|
|
4 | Python 규칙 상세 검사 |
| PEP8·레이어·FastAPI 룰 전체 |
5 | Java 규칙 상세 검사 |
| 네이밍·레이어·Spring·DTO 등 룰 전체 |
6 | README/docs ↔ 코드 요약 |
|
|
7 | check.md ↔ 코드 요약 |
| 기본 |
· 구현 모듈 (위 도구와 매핑)
파일 | 담당 도구 번호 | 역할 |
| 2, 3 | 로컬 또는 Git URL → clone·파일 순회·의존성·시크릿 검사 |
| 6, 7 | 마크다운·코드 마커·룰 결과를 묶어 문서↔코드 요약 반환 |
| 4, 5 | 언어별 파일 스캔·룰 실행 ( |
Related MCP server: MegaLinter MCP Server
실행
pip install -r requirements.txt
# MCP stdio (Cursor / Claude Desktop 등에서 subprocess 로 붙을 때 — 기본)
python server.py
# MCP over HTTP (클라이언트가 HTTP MCP 를 지원할 때)
python app/main.py.env 는 기본 동작에 필요하지 않습니다. 필요 시 .env.example 을 참고해 추가하면 됩니다.
Cursor에서 사용
Cursor Settings → MCP 에서 서버 추가
설정 예시 (stdio —
python server.py가 표준 입출력으로 MCP 를 처리):
{
"mcpServers": {
"convention-checker": {
"command": "C:/Users/parkj/anaconda3/python.exe",
"args": ["C:/Users/parkj/Documents/GitHub/Mcp-Server/server.py"],
"cwd": "C:/Users/parkj/Documents/GitHub/Mcp-Server"
}
}
}채팅/에이전트에서 예시
금지 라이브러리 점검:
check_dependencies에local_path또는git_url, 필요 시forbidden_libs(예:["lombok"]) 전달비밀키 스캔:
scan_secrets에local_path또는git_url전달Python/Java 규칙:
analyze_python/analyze_java에 프로젝트 루트 경로 전달문서 대조 요약:
audit_project_vs_docs호출check.md 기준 요약:
audit_project_vs_check_spec(project_path, language, spec_path?)호출
Claude에서 사용
Claude Desktop도 Cursor 와 같이 mcpServers 에 command / args / cwd 로 서버 프로세스를 띄웁니다. 위 Cursor 절의 JSON 과 동일하게 넣으면 됩니다(python/paths 만 본인 환경에 맞게 수정).
설정 파일 열기
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
mcpServers에convention-checker항목 추가(기존 서버가 있으면 병합).저장 후 Claude Desktop 재시작 → 대화에서 MCP 도구 연결 확인.
참고: 웹 브라우저의 Claude(chat)만으로는 로컬 MCP 를 붙이지 못합니다. HTTP MCP 는 app/main.py + 클라이언트의 SSE/HTTP 지원 여부에 따릅니다.
공통 분석 흐름 (Python / Java) — 도구 4·5
analyze_python / analyze_java 안에서 아래 순서로 동작합니다.
단계 | 한글 | 함수·산출 |
1 | 프로젝트 로딩 |
|
2 | 파일 스캔 | Python: |
3 | 룰 실행 |
|
감사 도구 6·7은 내부에서 같은 분석(analyze_*_project)을 불러 요약만 짧게 돌려줍니다.
문서 ↔ 코드 감사 — 도구 6·7
공통: MCP 응답을 짧게 두기 위해 위반 목록·파일 경로·긴 제안 문장은 넣지 않습니다. 상세는 같은 project_path로 도구 4 또는 5를 호출하세요.
6. README/docs ↔ 코드 (audit_project_vs_docs)
항목 | 내용 |
한글 레이블 | README·docs 기준 요약 감사 |
읽는 문서 |
|
인자 |
|
지원 언어 |
|
반환 필드
필드 | 한글 |
| 판정 코드(아래 표) |
| 한 줄 요약 |
| 룰 위반 건수 |
| 읽은 Markdown 개수 |
| 문서에 없는 스택으로 추정될 때 코드 쪽 힌트(쉼표 문자열) 또는 |
| 적용 언어 |
situation (6번)
값 | 한글 |
| 일치 |
| 문서 부족(md 없음 또는 본문 합계 약 250자 미만) |
| 불일치(룰 위반 또는 문서 신호 vs 코드 마커 휴리스틱 불일치) |
| 지원하지 않는 |
drift 예시 코드(값 일부): Python — undocumented_fastapi, undocumented_pydantic, undocumented_pytest / Java — undocumented_spring, undocumented_jpa, undocumented_junit, undocumented_lombok 등.
7. check.md ↔ 코드 (audit_project_vs_check_spec)
항목 | 내용 |
한글 레이블 | 단일 스펙 파일 기준 요약 감사 |
읽는 문서 | 프로젝트 루트의 한 파일(기본 |
인자 |
|
추가 반환 |
|
situation (7번) — 6번 값에 더해 spec_not_found(해당 경로에 파일 없음). 나머지 spec_insufficient / mismatch / aligned / unsupported_language 의미는 6번과 같습니다.
check.md 템플릿
이 저장소 루트의 check.md가 예시입니다. 점검 대상 프로젝트에도 두고 도구 7로 호출하면 됩니다.
Python 룰 목록 — 도구 analyze_python (4)
대상: Python 프로젝트 루트.
구분 | 한글 | 룰 이름 |
스타일 | 변수 snake_case |
|
스타일 | 한 줄 120자 초과 |
|
레이어 | router → repository 직접 금지 |
|
레이어 | router는 service에 의존 |
|
레이어 | service ↔ router/controller 역의존 금지 |
|
레이어 | 패키지 구조(router/controller가 repo·service 하위에 있지 않은지) |
|
FastAPI | 라우터가 FastAPI 라우터 import |
|
FastAPI | fastapi 모듈 사용·의존 |
|
FastAPI | Request/Response/Schema 네이밍 분리 |
|
Java 룰 목록 — 도구 analyze_java (5)
대상: Java/Spring 프로젝트 루트.
구분 | 한글 | 룰 이름 |
스타일 | 클래스 PascalCase |
|
스타일 | 메서드 camelCase |
|
레이어 | controller → repository 직접 금지 |
|
레이어 | controller는 service에 의존 |
|
레이어 | service ↔ controller 역의존 금지 |
|
Service | 데이터 변경 시 |
|
Service | 생성자 주입(필드 |
|
Service | 엔티티 직접 반환 지양·DTO 등 |
|
DTO | Request/Response 구분 |
|
Spring |
|
|
Spring |
|
|
Spring |
|
|
Spring |
|
|
한 줄 요약
4·5: 로드 → 스캔 → *_rule 실행 → RuleResult 리스트.6·7: 문서 + 같은 분석을 묶어 짧은 요약만 반환.
This server cannot be deployed
Maintenance
Related MCP Connectors
Scan any public GitHub MCP-server repo for security issues. 37 MCP-specific L1 rules, 8 languages.
Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables automated code review and GitHub PR commenting through MCP integration.379MIT
- AlicenseBqualityAmaintenanceEnables running MegaLinter linting, configuration, and analysis through MCP tools. Works with any CI/CD platform or locally.15673MIT

commit-check-mcpofficial
AlicenseAqualityAmaintenanceEnables validation of commit messages, branch names, author info, push safety, and repository state using commit-check rules, accessible as MCP tools.81MIT
Symbiotic MCP Serverofficial
AlicenseAqualityDmaintenanceEnables security analysis of code and infrastructure files via MCP, using Symbiotic CLI for scanning vulnerabilities.4MIT