Kurd
Kurd
Python과 Rust로 구동되는 고성능 MCP(모델 컨텍스트 프로토콜) 게이트웨이입니다.
상태
Kurd는 현재 초기 개발 단계에 있습니다.
공개 API와 내부 아키텍처는 최초 안정 버전 출시 전에 변경될 수 있습니다.
주요 특징
Python 우선 개발자 경험
Rust 기반 네이티브 코어
빠른 JSON-RPC 전처리
비동기 라우팅 지원
PyO3로 구축된 네이티브 확장
Maturin으로 패키징 및 배포
고처리량 MCP 워크로드용으로 설계
설치
pip install kurdKurd는 현재 초기 개발 단계에 있습니다. 모든 Python 버전과 운영 체제에 대한 플랫폼별 휠이 아직 제공되지 않을 수 있습니다.
빠른 시작
from kurd import Router
router = Router()
@router.tool(name="ping")
async def ping(value: int):
return value + 1JSON-RPC 디스패치
Kurd는 등록된 비동기 Python 도구로 JSON-RPC 요청을 라우팅할 수 있습니다.
import asyncio
from kurd import Router
router = Router()
@router.tool(name="add")
async def add(a: int, b: int):
return a + b
async def main():
response = await router.dispatch(
'{"jsonrpc":"2.0","id":1,"method":"add","params":{"a":2,"b":3}}'
)
print(response)
asyncio.run(main())응답 예시:
{
"jsonrpc": "2.0",
"result": 5,
"id": "1"
}아키텍처
Kurd는 Python과 Rust의 하이브리드 아키텍처를 사용합니다.
Python API
|
v
Kurd Router
|
v
PyO3
|
v
Rust Core
|
v
JSON-RPC ProcessingPython은 개발자 중심 API를 제공하고, 성능에 민감한 파싱과 전처리는 Rust 코어에서 처리됩니다.
성능
초기 로컬 마이크로벤치마크에 따르면 Kurd의 Rust 기반 JSON-RPC 전처리 경로는 동등한 순수 Python 구현보다 우수한 성능을 보여줍니다.
현재 측정값은 실험적이며 프로덕션 성능 보증으로 해석되어서는 안 됩니다.
pyperf와 같은 도구를 사용한 벤치마킹으로 다음 항목을 측정합니다:
처리량
평균 지연 시간
p50 지연 시간
p95 지연 시간
p99 지연 시간
Python 대 Rust 전처리 성능
프로젝트가 성숙해짐에 따라 재현 가능한 벤치마크 결과가 게시될 예정입니다.
개발
Kurd에는 Python과 Rust가 필요합니다.
권장 개발 환경:
Python 3.12+
Rust stable
Maturin
PyO3가상 환경 생성:
python -m venv .venvWindows PowerShell에서 활성화:
.\.venv\Scripts\Activate.ps1Maturin 설치:
python -m pip install maturin개발 모드로 Kurd 빌드 및 설치:
maturin develop --release테스트 스위트 실행:
python -m pytest -q배포용 휠 빌드:
maturin build --release프로젝트 구조
kurd-mcp/
├── kurd/
│ ├── __init__.py
│ ├── router.py
│ └── _kurd.*
│
├── src/
│ └── lib.rs
│
├── tests/
│
├── benchmarks/
│
├── Cargo.toml
├── pyproject.toml
├── README.md
└── LICENSE벤치마킹
Kurd는 Rust 전처리 경로와 동등한 순수 Python 처리를 비교하는 벤치마크 작업을 포함합니다.
로컬 pyperf 측정 예시:
Python: 5.92 us
Rust: 2.26 us
Speedup: 2.62x이 수치는 예비 로컬 마이크로벤치마크 결과이며 프로덕션 성능 보증이 아닙니다.
성능은 다음 요인에 따라 달라질 수 있습니다:
CPU 아키텍처
Python 버전
운영 체제
페이로드 크기
배치 크기
시스템 부하
컴파일러 구성
Rust 최적화 수준
향후 벤치마크에는 재현 가능한 크로스 플랫폼 측정이 포함될 예정입니다.
로드맵
개발 계획에는 다음 영역이 포함됩니다:
MCP 네이티브 라우팅
스트리밍 가능한 HTTP 전송
연결 관리
요청 라우팅
동시성 제어
타임아웃 및 취소
업스트림 상태 확인
관측 가능성
구조화된 오류 처리
향상된 Python 타입 지원
크로스 플랫폼 휠
자동화된 CI/CD 릴리스
벤치마크 자동화
Linux, macOS, Windows 성능 테스트
설계 목표
Kurd는 다음과 같은 핵심 원칙을 중심으로 설계되었습니다:
Python 인체공학
개발자는 단순하고 친숙한 Python API를 통해 Kurd와 상호 작용해야 합니다.
Rust 성능
성능에 민감한 프로토콜 처리는 측정 가능한 이점이 있을 때마다 네이티브 Rust 코드로 처리되어야 합니다.
최소 Python/Rust 경계 오버헤드
데이터는 필요한 경우에만 Python/Rust 경계를 넘어야 합니다.
Rust에서 데이터를 파싱한 후 Python에서 다시 파싱하기 위해 즉시 JSON으로 직렬화하는 것은 피해야 합니다.
MCP 네이티브 아키텍처
Kurd는 일반적인 JSON-RPC 라우터에 머무르지 않고 MCP 인식 게이트웨이로 진화하는 것을 목표로 합니다.
측정 가능한 성능
성능 주장은 이론적 가정이 아닌 재현 가능한 벤치마크로 뒷받침되어야 합니다.
기술 스택
Kurd는 현재 다음을 사용합니다:
Python
Rust
PyO3
Maturin
Tokio
Serde
serde_json
pytest
pyperf
Python API
공개 API는 Python 친화적으로 유지되는 것을 목표로 합니다.
예시:
from kurd import Router
router = Router()
@router.tool()
async def multiply(a: int, b: int):
return a * b그런 다음 요청을 라우터를 통해 디스패치할 수 있습니다:
response = await router.dispatch(
"""
{
"jsonrpc": "2.0",
"id": 1,
"method": "multiply",
"params": {
"a": 4,
"b": 5
}
}
"""
)오류 처리
Kurd는 현재 기본 JSON-RPC 오류 응답을 지원합니다:
-32700 Parse error
-32601 Method not found
-32602 Invalid params
-32603 Internal errorMCP 프로토콜 지원이 더 완성됨에 따라 오류 처리는 계속 발전할 예정입니다.
소스에서 빌드
저장소 복제:
git clone https://github.com/sn391/kurd.git
cd kurd가상 환경 생성:
python -m venv .venv활성화:
.\.venv\Scripts\Activate.ps1개발 의존성 설치:
python -m pip install --upgrade pip
python -m pip install maturin pytest pyperfRust 확장 빌드:
maturin develop --release테스트 실행:
python -m pytest -q배포용 휠 빌드:
maturin build --release생성된 휠은 다음 위치에 있습니다:
target/wheels/테스트
다음 명령으로 전체 테스트 스위트를 실행하세요:
python -m pytest -q현재 테스트는 다음 영역을 다룹니다:
패키지
Rust 확장 가용성
유효한 JSON 파싱
잘못된 JSON 파싱
매개변수 추출
라우터 디스패치
메서드를 찾을 수 없는 경우 처리
잘못된 매개변수
내부 오류
프로젝트가 발전함에 따라 추가 통합 및 전송 테스트가 추가될 예정입니다.
패키지 구조
Kurd는 Python과 Rust가 혼합된 패키지입니다.
Python 패키지는 개발자 중심 API를 노출합니다:
kurd/
├── __init__.py
├── router.py
└── _kurd.*네이티브 확장은 Rust로 구현됩니다:
src/
└── lib.rs비공개 네이티브 모듈은 내부적으로 다음과 같이 노출됩니다:
kurd._kurd사용자는 일반적으로 다음 공개 API를 통해 상호 작용해야 합니다:
import kurd비공개 네이티브 구현 세부 사항에 직접 의존하기보다는 공개 API를 사용하는 것이 좋습니다.
호환성
이 프로젝트는 현재 다음 환경에서 개발 및 테스트되고 있습니다:
Python 3.12
Windows x86-64
Rust stable자동화된 CI/CD를 통해 추가 Python 버전, 운영 체제 및 아키텍처 지원이 추가될 예정입니다.
기여
Kurd는 현재 초기 개발 단계에 있습니다.
공개 API와 아키텍처가 안정화됨에 따라 기여 가이드라인이 추가될 예정입니다.
버그, 아이디어 및 기술 논의는 GitHub 이슈 트래커를 이용해 주세요:
https://github.com/sn391/kurd/issues보안
Kurd는 아직 프로덕션 준비가 완료되지 않았습니다.
보안 취약점을 발견한 경우 공개 이슈에 민감한 익스플로잇 세부 사항을 게시하지 마십시오.
프로젝트가 출시 준비에 가까워짐에 따라 전용 보안 정책과 비공개 취약점 보고 절차가 마련될 예정입니다.
라이선스
Kurd는 MIT 라이선스로 배포됩니다.
이름에 대하여
Kurd라는 이름은 쿠르드인의 정체성과 유산을 기립니다. Kurd와 Kurdistan을 기립니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sn391/kurd'
If you have feedback or need assistance with the MCP directory API, please join our Discord server