Skip to main content
Glama

TxtAI 보조 MCP

txtai를 이용한 의미 검색 및 메모리 관리를 위한 모델 컨텍스트 프로토콜(MCP) 서버 구현. 이 서버는 의미 검색 기능을 갖춘 텍스트 기반 메모리를 저장, 검색 및 관리하기 위한 강력한 API를 제공합니다.

txtai 소개

이 프로젝트는 NeuML 이 만든 뛰어난 오픈소스 AI 기반 검색 엔진인 txtai를 기반으로 구축되었습니다. txtai는 다음을 제공합니다.

  • 🔍 올인원 의미 검색 솔루션

  • 🧠 변압기를 사용한 신경망 검색

  • 💡 제로샷 텍스트 분류

  • 🔄 텍스트 추출 및 임베딩

  • 🌐 다국어 지원

  • 🚀 고성능 및 확장성

txtai를 모델 컨텍스트 프로토콜(MCP)과 통합하여 기능을 확장하고, Claude와 Cline과 같은 AI 비서가 강력한 의미 검색 기능을 활용할 수 있도록 지원합니다. 이처럼 강력하고 유연한 도구를 만들어 주신 txtai 팀에 특별히 감사드립니다.

Related MCP server: Lspace MCP Server

특징

  • 🔍 저장된 메모리에 대한 의미 검색

  • 💾 파일 기반 백엔드를 갖춘 영구 저장소

  • 🏷️ 태그 기반 메모리 구성 및 검색

  • 📊 메모리 통계 및 상태 모니터링

  • 🔄 자동 데이터 지속성

  • 📝 포괄적인 로깅

  • 🔒 구성 가능한 CORS 설정

  • 🤖 Claude 및 Cline AI와 통합

필수 조건

  • Python 3.8 이상

  • pip(Python 패키지 설치 프로그램)

  • virtualenv(권장)

설치

  1. 이 저장소를 복제하세요:

지엑스피1

  1. 시작 스크립트를 실행합니다.

./scripts/start.sh

스크립트는 다음을 수행합니다.

  • 가상 환경 만들기

  • 필수 종속성 설치

  • 필요한 디렉토리를 설정하세요

  • 템플릿에서 구성 파일을 만듭니다.

  • 서버를 시작합니다

구성

서버는 .env 파일의 환경 변수를 사용하여 구성할 수 있습니다. 템플릿은 .env.template 에 제공됩니다.

# Server Configuration HOST=0.0.0.0 PORT=8000 # CORS Configuration CORS_ORIGINS=* # Logging Configuration LOG_LEVEL=DEBUG # Memory Configuration MAX_MEMORIES=0

Claude 및 Cline AI와 통합

이 TxtAI Assistant는 Claude와 Cline AI와 함께 MCP 서버로 사용되어 의미 메모리와 검색 기능을 강화할 수 있습니다.

Claude에 대한 구성

Claude와 함께 이 서버를 사용하려면 Claude의 MCP 구성 파일(macOS에서는 일반적으로 ~/Library/Application Support/Claude/claude_desktop_config.json 에 위치)에 추가하세요.

{ "mcpServers": { "txtai-assistant": { "command": "path/to/txtai-assistant-mcp/scripts/start.sh", "env": {} } } }

Cline 구성

Cline과 함께 사용하려면 Cline의 MCP 설정 파일(일반적으로 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json 에 위치)에 서버 구성을 추가하세요.

{ "mcpServers": { "txtai-assistant": { "command": "path/to/txtai-assistant-mcp/scripts/start.sh", "env": {} } } }

사용 가능한 MCP 도구

구성이 완료되면 Claude와 Cline은 다음 도구를 사용할 수 있습니다.

  1. store_memory : 메타데이터와 태그를 사용하여 새 메모리 콘텐츠를 저장합니다.

{ "content": "Memory content to store", "metadata": { "source": "conversation", "timestamp": "2023-01-01T00:00:00Z" }, "tags": ["important", "context"], "type": "conversation" }
  1. retrieve_memory : 의미 검색을 기반으로 메모리를 검색합니다.

{ "query": "search query", "n_results": 5 }
  1. search_by_tag : 태그로 추억 검색

{ "tags": ["important", "context"] }
  1. delete_memory : 콘텐츠 해시로 특정 메모리 삭제

{ "content_hash": "hash_value" }
  1. get_stats : 데이터베이스 통계 가져오기

{}
  1. check_health : 데이터베이스 및 임베딩 모델 상태를 확인합니다.

{}

사용 예

Claude 또는 Cline에서는 MCP 프로토콜을 통해 다음 도구를 사용할 수 있습니다.

# Store a memory <use_mcp_tool> <server_name>txtai-assistant</server_name> <tool_name>store_memory</tool_name> <arguments> { "content": "Important information to remember", "tags": ["important"] } </arguments> </use_mcp_tool> # Retrieve memories <use_mcp_tool> <server_name>txtai-assistant</server_name> <tool_name>retrieve_memory</tool_name> <arguments> { "query": "what was the important information?", "n_results": 5 } </arguments> </use_mcp_tool>

AI는 이러한 도구를 자동으로 사용하여 대화 중에 맥락을 유지하고 관련 정보를 검색합니다.

API 엔드포인트

메모리 저장

POST /store

선택적인 메타데이터와 태그를 사용하여 새로운 메모리를 저장합니다.

요청 본문:

{ "content": "Memory content to store", "metadata": { "source": "example", "timestamp": "2023-01-01T00:00:00Z" }, "tags": ["example", "memory"], "type": "general" }

추억 검색

POST /search

의미 검색을 사용하여 메모리를 검색하세요.

요청 본문:

{ "query": "search query", "n_results": 5, "similarity_threshold": 0.7 }

태그로 검색

POST /search_tags

태그로 추억을 검색하세요.

요청 본문:

{ "tags": ["example", "memory"] }

메모리 삭제

DELETE /memory/{content_hash}

콘텐츠 해시로 특정 메모리를 삭제합니다.

통계 가져오기

GET /stats

메모리 개수와 태그 분포를 포함한 시스템 통계를 가져옵니다.

건강 검진

GET /health

서버의 상태를 확인하세요.

디렉토리 구조

txtai-assistant-mcp/ ├── server/ │ ├── main.py # Main server implementation │ └── requirements.txt # Python dependencies ├── scripts/ │ └── start.sh # Server startup script ├── data/ # Data storage directory ├── logs/ # Log files directory ├── .env.template # Environment configuration template └── README.md # This file

데이터 저장

메모리와 태그는 data 디렉토리의 JSON 파일에 저장됩니다.

  • memories.json : 저장된 모든 메모리를 포함합니다.

  • tags.json : 태그 인덱스를 포함합니다

벌채 반출

로그는 logs 디렉터리에 저장됩니다. 기본 로그 파일은 server.log 입니다.

개발

이 프로젝트에 기여하려면:

  1. 저장소를 포크하세요

  2. 기능 브랜치 생성

  3. 변경 사항을 만드세요

  4. 풀 리퀘스트 제출

오류 처리

서버는 포괄적인 오류 처리를 구현합니다.

  • 잘못된 요청은 적절한 HTTP 상태 코드를 반환합니다.

  • 오류는 스택 추적으로 기록됩니다.

  • 사용자 친화적인 오류 메시지가 응답으로 반환됩니다.

보안 고려 사항

  • CORS 설정은 환경 변수를 통해 구성할 수 있습니다.

  • 디렉토리 탐색을 방지하기 위해 파일 경로가 정리됩니다.

  • 모든 엔드포인트에서 입력 검증이 수행됩니다.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

지원하다

문제가 발생하거나 질문이 있는 경우 GitHub 저장소에 문제를 제출하세요.

-
security - not tested
F
license - not found
-
quality - not tested

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/rmtech1/txtai-assistant-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server