v0.3.2 · 2026-10-20

자연어 템플릿과 OpenAPI로,
안전한 MCP 서버를 만듭니다.

ALDOL MCP Forge는 MCP 서버 소스코드를 생성하는 로컬 제작기입니다. 외부 서비스에 등록하거나 자동 배포하지 않습니다. Python 3.11+ 필요.

25 / 26 PASS오프라인 회귀 (1 skipped)
2 / 2 PASS공식 SDK 2.0.0 생성 예제
8개 도구생성 · 검증 · 패키징
MIT공개 저장소
이 페이지는 소개 페이지입니다.
Forge는 내 컴퓨터에서 실행하는 로컬 도구이며, 이 웹사이트에서 MCP 서버가 돌아가지 않습니다. 소스코드는 GitHub 공개 저장소에서 받고 로컬에서 실행하세요.

빠른 시작

클론하고, 실행하고, 예제를 돌려보는 세 단계면 됩니다.

1

클론

공개 저장소를 그대로 받습니다.

git clone https://github.com/aldol2678/aldol-mcp-forge.git
cd aldol-mcp-forge
2

실행

Forge를 실행하고 회귀 테스트를 돌립니다.

python3 forge.py
python3 -m unittest discover -s tests -v
3

첫 생성

OpenAPI 데모로 첫 MCP 서버를 만들어봅니다.

python3 examples/run_openapi_demo.py

실제 클라이언트에서 Forge 자체를 stdio 서버로 쓰려면 MCP 설정에 아래를 등록하세요. 경로는 사용자 환경의 절대 경로로 바꿔야 합니다.

{
  "mcpServers": {
    "aldol-mcp-forge": {
      "command": "python3",
      "args": ["/ABSOLUTE/PATH/aldol-mcp-forge/forge.py"]
    }
  }
}

현재 검증 상태 (v0.3.2)

숫자는 전부 확인된 기록만 적었습니다. 안 된 것은 안 됐다고 적습니다.

CI · success

공식 GitHub Actions run 39315805343, 두 작업 모두 success. 공개 저장소 aldol2678/aldol-mcp-forge, main 커밋 769bd658.

오프라인 회귀 · 25 PASS / 1 SKIP

26 tests 중 25 passed, 1 skipped (Python 3.12, Ubuntu 24.04). OK (skipped=1)은 26건 전부 개별 PASS와 다릅니다.

공식 SDK 2.0.0 · 2/2 PASS

mcp==2.0.0 기준, 생성 예제 aldol-openapi-pets와 aldol-game-html-audit의 인메모리 및 stdio 도구 조회·호출이 2/2 예제 PASS. 테스트 환경에서는 외부 API 요청을 비활성화했습니다.

검증 범위 밖

ChatGPT/Claude 실제 클라이언트 연결, 임의의 제3자 MCP 코드 격리, 실제 운영 API 호출, 완전한 보안 샌드박스는 미검증입니다.

하는 일

세 가지 원칙으로만 동작합니다.

OpenAPI → MCP GET 도구

OpenAPI 3.0/3.1 JSON을 붙여 넣으면 operationId마다 공식 Python MCP SDK v2용 @app.tool() 함수를 생성합니다. 최대 12개 GET, 인라인 경로·쿼리 매개변수의 문자열/정수/불리언 타입만 지원합니다. POST/PUT/PATCH/DELETE 등은 제외합니다.

안전한 기본 모드

생성된 GET 도구를 호출해도 실제 API에 요청하지 않고 경로와 매개변수를 반환하는 dry_run이 기본입니다. 명시적으로 공개 HTTPS 기반 URL과 같은 호스트 허용값을 모두 제공했을 때만 원격 GET을 허용합니다. 리다이렉트, 비공개 주소, 일반 HTTP, 응답 크기 초과를 차단합니다. 인증은 아직 지원하지 않습니다.

일관된 패키징 · 검증

스펙/소스의 SHA-256, 재생성 결과, 심볼릭 링크 및 예기치 않은 파일 검사. 신규 프로젝트는 임시 디렉터리에서 검증한 다음 생성합니다. Linux namespace 가용 시 네트워크 차단/읽기 전용 바인드 마운트, 불가하면 일반 자원 제한 프로세스로 폴백합니다. strict 모드는 격리가 불가능하면 거부합니다.

도구 총 8개

읽기 전용 조회부터 OpenAPI 가져오기까지, Forge가 제공하는 도구입니다.

forge_list_templates

기존 3개 읽기 전용 템플릿 조회

forge_preview

자연어 템플릿 매칭

forge_create

기존 HTML/JSON/텍스트 도구 프로젝트 생성

forge_add_tool

기존 큐레이션 프로젝트에 안전한 도구 추가 및 백업

forge_test

프로젝트 소스 무결성 및 호환 스모크 테스트. SDK 설치 시 인메모리 검증

forge_package

로컬 ZIP 작성. 동일 버전 덮어쓰기 방지

forge_preview_openapi

OpenAPI 3 JSON의 지원 GET·제외 작업 미리보기

forge_import_openapi

project_name, spec_json, 선택적 isolation로 새 OpenAPI GET 프로젝트 생성

예제 JSON은 examples/pets_openapi.json에 있습니다. Swagger/OpenAPI의 YAML, 서버 URL 직접 가져오기, $ref/요청 바디/고급 parameter encoding/인증/쓰기 작업 자동 생성은 지원하지 않습니다.

네트워크 / 보안 제한

기본은 아무것도 보내지 않는 것입니다.

생성된 도구는 기본으로 dry_run입니다. 실제 읽기 요청을 허용하려면 생성된 프로젝트의 서버 프로세스 환경에서 아래 값을 설정해야 합니다. 실제 API의 주소를 정확히 알고 신뢰할 때에만 수행하세요.

ALDOL_API_BASE_URL='https://api.example.com/v1'
ALDOL_API_ALLOWED_HOST='api.example.com'

실제 연결 모드에서는 공개 IP로 해석되는 HTTPS:443 목적지만 허용하고 리다이렉트 없이 JSON 응답을 제한 크기 내에서 수신합니다. DNS 재바인딩·프록시 환경을 완전하게 격리하는 보안 경계는 아니며, OAuth/API 키는 구현되지 않았습니다. 외부 실행은 실제 사용자가 별도 승인·설정해야 합니다. 임의의 신뢰할 수 없는 코드나 OpenAPI 문서를 운영 환경에 곧바로 배포하면 안 됩니다.

참고

  • Forge 자체의 forge.py는 경량 stdio JSON-RPC 런타임이며 아직 공식 SDK 기반으로 전환하지 않았습니다. 공식 SDK PASS는 Forge가 생성한 예제 서버에 관한 결과입니다.
  • 공식 Python MCP SDK v2 문서: py.sdk.modelcontextprotocol.io/v2
  • 라이선스: MIT