Skip to main content
Glama
rmtech1

TxtAi Memory Vector Server

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