컨텍스트 포털 MCP(ConPort)
(기억의 은행이에요!)
IDE 및 기타 인터페이스 내의 AI 어시스턴트와 개발자 도구에서 사용하도록 설계된, 구조화된 프로젝트 컨텍스트를 관리하기 위한 데이터베이스 지원 모델 컨텍스트 프로토콜(MCP) 서버입니다.
Context Portal MCP 서버(ConPort)란 무엇입니까?
컨텍스트 포털(ConPort)은 프로젝트의 메모리 뱅크 입니다. AI 어시스턴트가 의사 결정, 작업, 아키텍처 패턴과 같은 중요한 정보를 체계적으로 저장하여 특정 소프트웨어 프로젝트를 더 잘 이해할 수 있도록 돕는 도구입니다. AI가 쉽게 접근하고 활용하여 더욱 정확하고 유용한 답변을 제공할 수 있는 프로젝트별 지식 기반을 구축하는 것이라고 생각하면 됩니다.
기능:
- 프로젝트 결정, 진행 상황, 시스템 설계를 추적합니다.
- 사용자 정의 프로젝트 데이터(용어집이나 사양 등)를 저장합니다.
- AI가 관련 프로젝트 정보를 빠르게 찾을 수 있도록 도와줍니다(스마트 검색과 유사).
- AI가 프로젝트 컨텍스트를 활용하여 더 나은 대응을 할 수 있도록 합니다(RAG).
- 간단한 텍스트 파일 기반 메모리 뱅크에 비해 컨텍스트를 관리, 검색, 업데이트하는 데 더 효율적입니다.
ConPort는 AI 어시스턴트가 다양한 유형의 프로젝트 컨텍스트를 저장, 검색 및 관리할 수 있는 강력하고 체계적인 방법을 제공합니다. 프로젝트별 지식 그래프를 효과적으로 구축하여 의사 결정, 진행 상황, 아키텍처와 같은 엔티티와 그 관계를 포착합니다. 의미론적 검색을 위한 벡터 임베딩 으로 강화된 이 체계적인 지식 기반은 검색 증강 생성(RAG) 의 강력한 백엔드 역할을 하여 AI 어시스턴트가 정확하고 최신 정보에 접근하여 더욱 맥락을 잘 파악하고 정확한 응답을 제공할 수 있도록 합니다.
ConPort는 더욱 안정적이고 쿼리 가능한 데이터베이스 백엔드(워크스페이스당 SQLite)를 제공하여 기존의 파일 기반 컨텍스트 관리 시스템을 대체합니다. ConPort는 MCP를 지원하는 다양한 IDE 및 클라이언트 인터페이스와 호환되는 범용 컨텍스트 백엔드로 설계되었습니다.
주요 특징은 다음과 같습니다.
- SQLite를 사용한 구조화된 컨텍스트 저장소(작업 공간당 하나의 DB, 자동 생성).
- Python/FastAPI로 빌드된 MCP 서버(
context_portal_mcp
). - 상호작용을 위한 정의된 MCP 도구의 포괄적인 모음입니다(아래 "사용 가능한 ConPort 도구" 참조).
workspace_id
통한 다중 작업 공간 지원.- 기본 배포 모드: 긴밀한 IDE 통합을 위한 STDIO.
- 컨텍스트 항목 간의 명시적 관계를 통해 동적 프로젝트 지식 그래프를 구축할 수 있습니다.
- 고급 RAG를 구동하기 위해 벡터 데이터 저장 및 의미 검색 기능이 포함되어 있습니다.
- AI에 정확하고 쿼리 가능한 프로젝트 메모리를 제공하여 검색 증강 생성(RAG) 을 위한 이상적인 백엔드 역할을 합니다.
- AI 어시스턴트가 호환 가능한 LLM 공급자와 함께 신속하게 캐싱할 수 있도록 구조화된 컨텍스트를 제공합니다.
필수 조건
시작하기 전에 다음 사항이 설치되어 있는지 확인하세요.
- Python: 버전 3.8 이상을 권장합니다.
- 파이썬 다운로드
- 설치하는 동안 Python이 시스템의 PATH에 추가되었는지 확인하세요(특히 Windows의 경우).
- uv: (강력 추천) 빠른 Python 환경 및 패키지 관리자입니다.
uv
사용하면 가상 환경 생성 및 종속성 설치가 크게 간소화됩니다.- uv 설치
uv
사용하지 않기로 선택한 경우 표준 Pythonvenv
와pip
사용할 수 있지만 이 프로젝트에서는uv
사용하는 것이 좋습니다.
PyPI를 통한 설치:
MCP 서버를 설치한 디렉토리에 가상 환경을 만들고 활성화합니다.
uv
사용(권장):
지엑스피1
환경 활성화:
Linux/macOS(bash/zsh):
Windows(명령 프롬프트):
윈도우(PowerShell):
(PowerShell에서 실행 정책 문제가 발생하면 먼저 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
실행해야 할 수 있습니다.)
표준 venv
사용하는 경우( uv
사용하지 않는 경우):
MCP 서버 디렉토리에서:
활성화 명령은 위의 uv
와 동일합니다.
PyPi를 통해 ConPort 설치:
uv를 사용하는 context-portal-mcp에 대한 PyPI 설치 명령은 다음과 같습니다.
가상 환경 내에서 표준 pip를 사용하는 경우 명령은 다음과 같습니다.
PyPI 설치를 위한 구성
PyPI( pip install context-portal-mcp
)를 통해 ConPort를 설치한 경우, 가상 환경 내의 Python 인터프리터를 사용하여 ConPort 서버를 직접 실행할 수 있습니다. 이 방법은 실행 파일을 명시적으로 가리키므로 일반적으로 더 안정적입니다.
중요: 플레이스홀더 경로 /home/USER/PATH/TO/.venv/bin/python
(또는 Windows의 C:\\Users\\USER\\PATH\\TO\\.venv\\Scripts\\python.exe
)을 특정 ConPort 가상 환경 내의 Python 실행 파일에 대한 절대 경로 로 바꿔야 합니다 .
Linux/macOS 예:
Windows 예:
command
: 이는 ConPort 설치의.venv
파일 내에서 실행 가능한python
(또는 Windows의 경우python.exe
)의 절대 경로여야 합니다.args
: ConPort 서버 모듈을 실행하기 위한 인수(-m context_portal_mcp.main
)와 서버 인수(--mode stdio --workspace_id "${workspaceFolder}"
)를 포함합니다.${workspaceFolder}
: 이 IDE 변수는 현재 프로젝트 작업 공간의 절대 경로를 자동으로 제공하는 데 사용됩니다.--log-file
: 선택 사항: 서버 로그가 기록될 파일 경로입니다. 지정하지 않으면 로그는stderr
(콘솔)로 전송됩니다. 지속적인 로깅 및 서버 동작 디버깅에 유용합니다.--log-level
: 선택 사항: 서버의 최소 로깅 수준을 설정합니다. 유효한 옵션은DEBUG
,INFO
,WARNING
,ERROR
,CRITICAL
입니다. 기본값은INFO
입니다. 개발 또는 문제 해결 중에 자세한 출력을 원하면DEBUG
로 설정하세요.
PyPI를 통해 설치하면 conport-mcp
명령을 가상 환경의 PATH에서 바로 사용할 수 있습니다. 서버를 실행하는 명령은 다음과 같습니다.
Git 저장소에서 설치
이 지침은 Git 저장소를 복제하고 종속성을 설치하여 ConPort를 설정하는 방법을 안내합니다. 가상 환경을 사용하는 것이 중요합니다.
- 저장소 복제: 터미널이나 명령 프롬프트를 열고 다음을 실행합니다.
- 가상 환경 만들기 및 활성화:
uv
사용(권장):context-portal
디렉토리에서:- 환경 활성화:
- Linux/macOS(bash/zsh):
- Windows(명령 프롬프트):
- 윈도우(PowerShell):(PowerShell에서 실행 정책 문제가 발생하면 먼저
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
실행해야 할 수 있습니다.)
- Linux/macOS(bash/zsh):
- 환경 활성화:
- 표준
venv
사용(uv
사용하지 않는 경우):context-portal
디렉토리에서:- 활성화 명령은 위의
uv
와 동일합니다.
- 활성화 명령은 위의
- 종속성 설치: 가상 환경이 활성화된 경우:
uv
사용(권장):참고:uv
uv pip install
명령을 명시적으로 활성화하지 않아도 현재 디렉터리에서.venv
파일을 감지하고 사용할 수 있습니다. 하지만 특히 Python 스크립트를 직접 실행하려는 경우 활성화하는 것이 여전히 좋습니다.- 표준
pip
사용하기:
- 설치 확인(선택 사항): 가상 환경이 활성화되었는지 확인하세요.
uv
사용 :- 표준
python
사용:bash python src/context_portal_mcp/main.py --help
이렇게 하면 ConPort 서버에 대한 명령줄 도움말이 출력됩니다.
권장 구성(직접 Python 호출):
이 구성은 context-portal
가상 환경에서 Python 인터프리터를 직접 호출합니다. uv
가 명령이거나 클라이언트가 서버 프로세스에 대한 cwd
필드를 지원하는지에 의존하지 않는 안정적인 방법입니다.
중요한:
- 플레이스홀더 경로를
context-portal
저장소를 복제하고 설정한 위치에 해당하는 절대 경로 로 바꿔야 합니다 . --workspace_id
인수의"${workspaceFolder}"
변수는 현재 프로젝트 작업 공간의 절대 경로로 확장되어야 하는 일반적인 IDE 플레이스홀더입니다.
Linux/macOS 예:
context-portal
저장소가 /home/youruser/mcp-servers/context-portal
에 복제되었다고 가정해 보겠습니다.
Windows 예:
context-portal
저장소가 C:\Users\YourUser\MCP-servers\context-portal
에 복제되었다고 가정해 보겠습니다. JSON 문자열의 경로에는 두 개의 백슬래시 \\
가 사용됩니다.
command
: 이는context-portal
설치의.venv
파일 내에서 실행 가능한python
(또는 Windows의 경우python.exe
) 파일의 절대 경로여야 합니다.args
의 첫 번째 인수 : 이는context-portal
설치 내의main.py
스크립트에 대한 절대 경로여야 합니다.--workspace_id "${workspaceFolder}"
: 이는 ConPort에 관리할 프로젝트의 컨텍스트를 알려줍니다.${workspaceFolder}
IDE에서 현재 프로젝트의 루트 경로로 확인되어야 합니다.--log-file
: 선택 사항: 서버 로그가 기록될 파일 경로입니다. 지정하지 않으면 로그는stderr
(콘솔)로 전송됩니다. 지속적인 로깅 및 서버 동작 디버깅에 유용합니다.--log-level
: 선택 사항: 서버의 최소 로깅 수준을 설정합니다. 유효한 옵션은DEBUG
,INFO
,WARNING
,ERROR
,CRITICAL
입니다. 기본값은INFO
입니다. 개발 또는 문제 해결 중에 자세한 출력을 원하면DEBUG
로 설정하세요.
복제된 Git 저장소를 통해 설치되는 경우 IDE는 일반적으로 다음과 유사한 명령을 구성하고 실행합니다.
/path/to/your/context-portal/
context-portal
저장소를 복제한 절대 경로입니다. "/actual/path/to/your/project_workspace"
는 ConPort가 관리할 컨텍스트가 있는 프로젝트의 루트에 대한 절대 경로입니다(예: VS Code의 ${workspaceFolder}
). ConPort는 your_project_workspace/context_portal/context.db
에 자동으로 데이터베이스를 생성합니다.
--workspace_id
명령줄 인수의 목적:
특히 STDIO 모드( --mode stdio
)에서 ConPort 서버를 시작하면 --workspace_id
인수는 여러 가지 주요 목적을 수행합니다.
- 초기 서버 컨텍스트: 서버 프로세스에 처음에 연관되어야 하는 프로젝트 작업 공간의 절대 경로를 제공합니다.
- 중요 안전 점검: STDIO 모드에서 이 경로는 서버가 자체 설치 디렉터리 내에 데이터베이스 파일(
context.db
,conport_vector_data/
)을 실수로 생성하는 것을 방지하는 중요한 점검을 수행하는 데 사용됩니다. 이를 통해 클라이언트가 작업 공간 경로를 올바르게 제공하지 않는 등 잘못된 구성을 방지할 수 있습니다. - 클라이언트 실행 신호: MCP 클라이언트(IDE 확장 프로그램과 같은)가 서버에 어떤 프로젝트를 실행할지 신호를 보내는 표준 방식입니다.
중요 참고: 서버 시작 시 제공되는 --workspace_id
는 이후 모든 MCP 도구 호출 시 자동으로 workspace_id
매개변수로 사용되지 않습니다 . ConPort 도구는 각 호출 시 명시적으로 workspace_id
매개변수를 요구하도록 설계되었습니다(예: get_product_context({"workspace_id": "..."})
). 이러한 설계는 단일 서버 인스턴스가 여러 작업 공간을 관리할 수 있도록 지원하고 각 작업의 명확성을 보장합니다. 클라이언트 IDE/MCP 클라이언트는 각 도구 호출 시 정확한 workspace_id
제공해야 합니다.
핵심 요점: ConPort는 대상 프로젝트를 식별하기 위해 정확한 --workspace_id
매우 중요하게 사용합니다. ${workspaceFolder}
와 같은 IDE 변수를 사용하거나 직접 절대 경로를 제공하여 이 인수가 프로젝트 작업 공간의 절대 경로로 올바르게 해석되는지 확인하세요.
Python 바이트코드 캐시 지우기
ConPort를 업데이트하거나 재설치한 후 __pycache__
디렉터리에 저장된 오래된 Python 바이트코드 파일( .pyc
)로 인해 예기치 않은 동작이나 오류가 발생할 수 있습니다. 이 캐시를 삭제하면 이러한 문제를 해결할 수 있습니다.
Unix 계열 시스템(Linux, macOS, WSL)에서 find
명령을 사용하여 이러한 파일과 디렉토리를 찾아 제거할 수 있습니다.
__pycache__
디렉토리를 제거합니다..pyc
파일을 제거합니다.
다음 명령을 실행할 위치:
이러한 명령을 실행해야 하는 디렉토리는 ConPort를 설치한 방법에 따라 달라집니다.
- Git 저장소에서 설치한 경우: 복제된
context-portal
저장소의 루트 디렉토리에서 다음 명령을 실행합니다. - PyPI를 통해 설치한 경우: ConPort가 설치된 Python 환경의 site-packages 디렉토리에서 다음 명령을 실행합니다(예: 가상 환경의
lib/pythonX.Y/site-packages/
). - Docker 이미지에서 실행하는 경우: 일반적으로
docker exec <container_id> <command>
사용하여 실행 중인 Docker 컨테이너 내부에서 이러한 명령을 실행합니다.
LLM 에이전트와 함께 사용(맞춤형 지침)
ConPort는 LLM 에이전트에 대한 특정 맞춤 지침이나 시스템 프롬프트를 제공함으로써 LLM 에이전트와의 효율성을 크게 향상시킵니다. 이 저장소에는 다양한 환경에 맞는 맞춤형 전략 파일이 포함되어 있습니다.
- Roo 코드의 경우:
roo_code_conport_strategy
: Roo Code VS Code 확장 기능 내에서 작동하는 LLM에 대한 자세한 지침을 담고 있으며, 컨텍스트 관리를 위한 ConPort 도구를 사용하는 방법을 안내합니다.
- CLine의 경우:
cline_conport_strategy
: Cline VS Code 확장 프로그램 내에서 작동하는 LLM을 위한 자세한 지침을 담고 있으며, 컨텍스트 관리를 위한 ConPort 도구를 사용하는 방법을 안내합니다.
- 윈드서프 캐스케이드의 경우:
cascade_conport_strategy
: Windsurf Cascade 환경에 통합된 LLM을 위한 구체적인 지침입니다. 중요 : Cascade에서 세션을 시작할 때 LLM에게 다음 사항을 명시적으로 알려야 합니다.
- 일반/플랫폼 무관 사용:
generic_conport_strategy
: MCP 지원 LLM에 대한 플랫폼 독립적인 명령어 세트를 제공합니다. ConPort의get_conport_schema
연산을 사용하여 정확한 ConPort 도구 이름과 매개변수를 동적으로 검색하고, 특정 도구 호출 세부 정보를 하드코딩하는 대신 LLM이 개념적 상호작용(의사결정 로깅 또는 제품 컨텍스트 업데이트 등)을 언제 , 왜 수행해야 하는지 안내합니다.
이러한 전략 파일을 사용하는 방법:
- LLM 에이전트의 환경과 관련된 전략 파일을 식별합니다.
- 해당 파일의 전체 내용을 복사합니다.
- LLM의 사용자 지정 지침이나 시스템 프롬프트 영역에 붙여넣으세요. 방법은 LLM 플랫폼(IDE 확장 프로그램 설정, 웹 UI, API 구성)에 따라 다릅니다.
이러한 지침은 LLM에게 다음과 같은 지식을 제공합니다.
- ConPort에서 컨텍스트를 초기화하고 로드합니다.
- 새로운 정보(결정, 진행 상황 등)로 ConPort를 업데이트합니다.
- 사용자 정의 데이터와 관계를 관리합니다.
workspace_id
의 중요성을 이해하세요. 세션 시작을 위한 중요 팁: LLM 에이전트가 컨텍스트를 올바르게 초기화하고 로드하도록 하려면, 특히 첫 번째 메시지의 사용자 지정 지침을 항상 엄격하게 준수하지 않는 인터페이스에서 "Initialize according to custom instructions.
이렇게 하면 에이전트가 전략 파일에 정의된 대로 ConPort 초기화 시퀀스를 수행하도록 유도할 수 있습니다.
작업 공간에서의 초기 ConPort 사용
새 프로젝트 작업 공간이나 기존 프로젝트 작업 공간에서 ConPort를 처음 사용할 때, ConPort 데이터베이스( context_portal/context.db
)가 없으면 서버에서 자동으로 생성됩니다. 초기 프로젝트 컨텍스트, 특히 제품 컨텍스트를 부트스트랩하는 데 도움이 되도록 다음 사항을 고려하세요.
projectBrief.md
파일 사용(권장)
projectBrief.md
만들기: 프로젝트 작업 공간의 루트 디렉토리에projectBrief.md
라는 이름의 파일을 만듭니다.- 콘텐츠 추가: 이 파일에 프로젝트에 대한 간략한 개요를 추가하세요. 다음 내용을 포함할 수 있습니다.
- 프로젝트의 주요 목표 또는 목적.
- 주요 기능 또는 구성 요소.
- 타겟 고객 또는 사용자.
- 전반적인 건축 양식 또는 핵심 기술(알려진 경우).
- 프로젝트를 정의하는 기타 기본 정보입니다.
- 가져오기에 대한 자동 프롬프트: 제공된 ConPort 사용자 정의 명령어 세트(예:
roo_code_conport_strategy
) 중 하나를 사용하는 LLM 에이전트가 작업 공간에서 초기화할 때 다음을 수행하도록 설계되었습니다.projectBrief.md
가 존재하는지 확인하세요.- 해당 파일을 찾으면 해당 파일을 읽고 해당 내용을 ConPort 제품 컨텍스트 로 가져올지 묻습니다.
- 동의하시면 해당 콘텐츠가 ConPort에 추가되어 프로젝트의 제품 컨텍스트에 대한 즉각적인 기준이 제공됩니다.
수동 초기화
projectBrief.md
찾을 수 없거나 가져오지 않기로 선택한 경우:
- LLM 에이전트(사용자 지정 지침에 따라)는 일반적으로 ConPort 제품 컨텍스트가 초기화되지 않은 것으로 표시된다고 알려줍니다.
- 작업 공간에 있는 다른 파일을 나��하여 관련 정보를 수집함으로써 제품 컨텍스트를 수동으로 정의하는 데 도움이 될 수 있습니다.
projectBrief.md
나 수동 입력을 통해 초기 컨텍스트를 제공하면 ConPort와 연결된 LLM 에이전트가 처음부터 프로젝트에 대한 기본적 이해를 더 잘 얻을 수 있습니다.
사용 가능한 ConPort 도구
ConPort 서버는 MCP를 통해 다음 도구를 제공하여 기본 프로젝트 지식 그래프 와의 상호작용을 지원합니다. 여기에는 벡터 데이터 저장소 를 기반으로 하는 의미 검색 도구가 포함됩니다. 이러한 도구는 AI 에이전트의 증강 생성(RAG) 에 필수적인 검색 기능을 지원합니다. 모든 도구는 대상 프로젝트 작업 공간을 지정하기 위해 workspace_id
인수(문자열, 필수)를 필요로 합니다.
- 제품 컨텍스트 관리:
get_product_context
: 전반적인 프로젝트 목표, 기능 및 아키텍처를 검색합니다.update_product_context
: 제품 컨텍스트를 업데이트합니다. 전체content
(객체) 또는 부분 업데이트의 경우patch_content
(객체)를 받습니다(patch에서 키를 제거하려면__DELETE__
값으로 사용하세요).
- 활성 컨텍스트 관리:
get_active_context
: 현재 작업 초점, 최근 변경 사항, 열려 있는 문제를 검색합니다.update_active_context
: 활성 컨텍스트를 업데이트합니다. 전체content
(객체) 또는 부분 업데이트의 경우patch_content
(객체)를 받습니다(patch에서__DELETE__
값으로 사용하여 키를 제거합니다).
- 의사결정 로깅:
log_decision
: 아키텍처나 구현 결정을 기록합니다.- 인수:
summary
(str, req),rationale
(str, opt),implementation_details
(str, opt),tags
(list[str], opt).
- 인수:
get_decisions
: 기록된 결정을 검색합니다.- 인수:
limit
(int, opt),tags_filter_include_all
(list[str], opt),tags_filter_include_any
(list[str], opt).
- 인수:
search_decisions_fts
: 결정 필드(요약, 근거, 세부 정보, 태그)에 대한 전체 텍스트 검색.- 인수:
query_term
(str, req),limit
(int, opt).
- 인수:
delete_decision_by_id
: ID로 결정을 삭제합니다.- 인수:
decision_id
(int, req).
- 인수:
- 진행 상황 추적:
log_progress
: 진행률 항목이나 작업 상태를 기록합니다.- 인수:
status
(str, req),description
(str, req),parent_id
(int, opt),linked_item_type
(str, opt),linked_item_id
(str, opt).
- 인수:
get_progress
: 진행률 항목을 검색합니다.- 인수:
status_filter
(str, opt),parent_id_filter
(int, opt),limit
(int, opt).
- 인수:
update_progress
: 기존 진행률 항목을 업데이트합니다.- 인수:
progress_id
(정수, 요청),status
(문자열, 옵션),description
(문자열, 옵션),parent_id
(정수, 옵션).
- 인수:
delete_progress_by_id
: ID로 진행률 항목을 삭제합니다.- 인수:
progress_id
(int, req).
- 인수:
- 시스템 패턴 관리:
log_system_pattern
: 시스템/코딩 패턴을 기록하거나 업데이트합니다.- 인수:
name
(str, req),description
(str, opt),tags
(list[str], opt).
- 인수:
get_system_patterns
: 시스템 패턴을 검색합니다.- 인수:
tags_filter_include_all
(list[str], opt),tags_filter_include_any
(list[str], opt).
- 인수:
delete_system_pattern_by_id
: ID로 시스템 패턴을 삭제합니다.- 인수:
pattern_id
(int, req).
- 인수:
- 맞춤형 데이터 관리:
log_custom_data
: 카테고리 아래의 사용자 지정 키-값 항목을 저장/업데이트합니다. 값은 JSON 직렬화 가능합니다.- 인수:
category
(str, req),key
(str, req),value
(any, req).
- 인수:
get_custom_data
: 사용자 정의 데이터를 검색합니다.- 인수:
category
(str, opt),key
(str, opt).
- 인수:
delete_custom_data
: 특정 사용자 정의 데이터 항목을 삭제합니다.- 인수:
category
(str, req),key
(str, req).
- 인수:
search_project_glossary_fts
: 'ProjectGlossary' 사용자 정의 데이터 범주 내에서 전체 텍스트 검색.- 인수:
query_term
(str, req),limit
(int, opt).
- 인수:
search_custom_data_value_fts
: 모든 사용자 정의 데이터 값, 범주 및 키에 대한 전체 텍스트 검색.- 인수:
query_term
(str, req),category_filter
(str, opt),limit
(int, opt).
- 인수:
- 컨텍스트 연결:
link_conport_items
: 두 ConPort 항목 간의 관계 링크를 생성하여 프로젝트 지식 그래프를 명시적으로 구축합니다.- 인수:
source_item_type
(str, req),source_item_id
(str, req),target_item_type
(str, req),target_item_id
(str, req),relationship_type
(str, req),description
(str, opt).
- 인수:
get_linked_items
: 특정 항목에 연결된 항목을 검색합니다.- 인수:
item_type
(str, req),item_id
(str, req),relationship_type_filter
(str, opt),linked_item_type_filter
(str, opt),limit
(int, opt).
- 인수:
- 역사 및 메타 도구:
get_item_history
: 제품 또는 활성 컨텍스트의 버전 기록을 검색합니다.- 인수:
item_type
("product_context" | "active_context", req),version
(int, opt),before_timestamp
(datetime, opt),after_timestamp
(datetime, opt),limit
(int, opt).
- 인수:
get_recent_activity_summary
: 최근 ConPort 활동에 대한 요약을 제공합니다.- 인수:
hours_ago
(int, opt),since_timestamp
(datetime, opt),limit_per_type
(int, opt, 기본값: 5).
- 인수:
get_conport_schema
: 사용 가능한 ConPort 도구와 해당 인수의 스키마를 검색합니다.
- 수입/수출:
export_conport_to_markdown
: ConPort 데이터를 마크다운 파일로 내보냅니다.- 인수:
output_path
(str, opt, 기본값: "./conport_export/").
- 인수:
import_markdown_to_conport
: 마크다운 파일의 데이터를 ConPort로 가져옵니다.- 인수:
input_path
(str, opt, 기본값: "./conport_export/").
- 인수:
- 배치 작업:
batch_log_items
: 단일 호출에서 동일한 유형의 여러 항목(예: 결정, 진행 항목)을 기록합니다.- 인수:
item_type
(str, req - 예: "decision", "progress_entry"),items
(list[dict], req - 항목 유형에 대한 Pydantic 모델 dict 목록).
- 인수:
신속한 캐싱 전략
ConPort는 AI 어시스턴트가 호환되는 LLM 제공업체(예: Google Gemini, Anthropic Claude, OpenAI)와 즉시 캐싱하는 데 활용할 수 있는 구조화된 컨텍스트(시맨틱 검색을 위한 벡터 데이터 포함)를 제공하는 데 사용할 수 있습니다. 즉시 캐싱은 자주 사용되는 프롬프트 부분을 재사용하여 토큰 비용과 지연 시간을 줄여줍니다.
이 저장소에는 LLM 어시스턴트가 ConPort에서 캐시 가능한 콘텐츠를 식별하고 다양한 공급자에 대한 프롬프트를 구성하는 방법을 정의하는 자세한 전략 파일( context_portal/prompt_caching_strategy.yml
)이 포함되어 있습니다.
전략의 핵심 측면은 다음과 같습니다.
- 캐시 가능한 콘텐츠 식별: 제품 컨텍스트, 세부적인 시스템 패턴 또는 특정 사용자 정의 데이터 항목(특히
cache_hint: true
메타데이터로 플래그가 지정된 항목)과 같은 크고 안정적인 컨텍스트를 우선시합니다. - 공급자별 상호작용:
- 암시적 캐싱(Gemini, OpenAI): 캐시 가능한 ConPort 콘텐츠를 프롬프트의 절대 시작 부분에 배치하여 프롬프트를 구조화합니다. LLM 제공자가 캐싱을 자동으로 처리합니다.
- 명시적 캐싱(인류학적): 프롬프트 페이로드 내의 캐시 가능한 ConPort 콘텐츠 뒤에
cache_control
중단점을 삽입합니다.
- 사용자 힌트: ConPort의 사용자 정의 데이터에는
cache_hint: true
와 같은 메타데이터를 포함하여 LLM 어시스턴트가 캐싱을 위한 콘텐츠 우선순위를 명시적으로 지정할 수 있습니다. - LLM 어시스턴트 알림: LLM 어시스턴트는 잠재적인 캐싱에 대한 프롬프트를 구성할 때(예:
[INFO: Structuring prompt for caching]
) 사용자에게 알리도록 지시받습니다.
ConPort를 사용하여 프로젝트의 지식을 관리하고 LLM 어시스턴트에게 신속한 캐싱 전략을 제공하면 AI 상호작용의 효율성과 비용 효과를 높일 수 있습니다.
추가 자료
ConPort의 디자인, 아키텍처, 고급 사용 패턴에 대한 자세한 내용은 다음을 참조하세요.
기여하다
ConPort 프로젝트에 기여하는 방법에 대한 자세한 내용은 나중에 여기에 추가될 예정입니다.
특허
이 프로젝트는 Apache-2.0 라이선스 에 따라 라이선스가 부여되었습니다.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
컨텍스트 포털
Related MCP Servers
- JavaScriptThe Unlicense
- AsecurityAlicenseAqualityBrowserStack MCP serverLast updated -581181TypeScriptAGPL 3.0
- PythonApache 2.0
- TypeScriptMIT License