Skip to main content
Glama

✨ TPC 서버 ✨

에이전트(또는 프로젝트)의 생각🧠, 계획📝, 변경 사항을 ✅ 추적하세요!

TPC Server는 AI 에이전트 또는 협업 프로젝트의 추론 프로세스, 의도된 동작 및 실행 단계를 기록, 저장 및 검색하는 백엔드 서비스를 제공합니다. FastAPI, MCP-Server 및 SQLAlchemy를 기반으로 구축되었습니다.


🤔 TPC란 무엇인가요?

핵심 아이디어는 구조화되고 상호 연결된 로그를 만드는 것입니다.

  • 생각(🧠): 조치를 결정하기 전에 통찰력, 아이디어, 관찰, 고려 사항 또는 원시 데이터 포인트를 기록합니다.
  • 계획(📝): 종종 생각 에서 파생되는 의도�� 행동 방침, 전략, 목표 또는 접근 방식을 정의합니다.
  • 변경 사항(✅): 실행에 도움이 되는 특정 계획 연결되어 수행된 구체적인 작업이나 변경 사항을 기록합니다.

이 서버는 이러한 항목과 그 관계(생각 <-> 계획 -> 변경 사항)를 기록하는 것을 용이하게 합니다.


🚀 특징

  • 🧠 생각, 📝 계획, ✅ 변경 사항 추적: 각 개념에 대한 전용 모델과 저장소.
  • 🔗 상호 연결된 데이터: 생각을 계획에 연결(다대다)하고, 변경 사항을 다시 계획에 연결합니다(다대일).
  • 🌐 웹 인터페이스: 최근 활동, 생각, 계획 및 변경 사항을 탐색할 수 있는 간단한 HTML 보기입니다.
  • 🔌 JSON API: 프로그래밍 방식 데이터 검색을 위한 엔드포인트(최근 항목, 모든 생각/계획/변경 사항).
  • 🤖 에이전트 도구(MCP): AI 에이전트가 TPC 저장소와 상호 작용할 수 있도록 mcp-server 통해 기능을 제공합니다( add_thought , create_plan , log_change , get_... ).
  • 💾 데이터베이스 백엔드: SQLAlchemy를 사용합니다(기본값은 SQLite이며 URL을 통해 쉽게 구성 가능).
  • ⚙️ 구성 가능: .env 통해 DB URL, 호스트, 포트 및 에이전트 통신 전송(SSE/stdio)을 설정합니다.
  • 🪄 자동 테이블 생성: 데이터베이스 테이블이 없으면 첫 번째 실행 시 자동으로 생성됩니다.

🛠️ 설치 및 설정

  1. 저장소 복제:지엑스피1
  2. 가상 환경 만들기 및 활성화:
    # Create environment python -m venv venv # Activate (macOS/Linux) source venv/bin/activate # Activate (Windows - Git Bash/WSL) source venv/Scripts/activate # Activate (Windows - Command Prompt/PowerShell) .\venv\Scripts\activate
  3. 종속성 설치:
    Install using: ```bash pip install -r requirements.txt
  4. 환경 구성: 프로젝트 루트에 .env 파일을 만듭니다.
    # .env file # --- Database --- # Default: SQLite in project root. Use postgresql://user:pass@host:port/db for PostgreSQL, etc. DATABASE_URL="sqlite:///./tpc_server.db" # --- Server Network --- HOST="0.0.0.0" # Listen on all network interfaces PORT="8050" # Port for FastAPI and MCP SSE # --- Agent Communication --- # 'sse' (Server-Sent Events over HTTP) or 'stdio' (Standard Input/Output) TRANSPORT="sse"

▶️ 서버 실행

가상 환경이 활성화되어 있고 프로젝트 루트에 있는지 확인하세요.

python main.py

서버가 시작되고 Uvicorn(FastAPI용) 및 MCP 서버의 로그가 표시됩니다. 서버가 구성된 HOSTPORT 에서 실행 중임을 나타내는 출력이 표시됩니다.


💡 사용법

🖥️ 웹 인터페이스

브라우저를 통해 간단한 웹 UI에 접속하세요(기본값: http://localhost:8050 ):

  • / : 가장 최근의 10가지 활동에 대한 개요입니다.
  • /thoughts : 기록된 모든 생각을 나열합니다.
  • /plans : 기록된 모든 계획을 나열합니다.
  • /changes : 기록된 모든 변경 사항을 나열합니다(관련된 계획 제목 포함).

💻 JSON API

프로그래밍 방식으로 데이터 가져오기:

  • GET /api/recent-activity : 가장 최근의 생각, 계획, 변경 사항 10개를 결합한 목록입니다.
  • GET /api/thoughts : 모든 생각 목록.
  • GET /api/plans : 모든 플랜 목록.
  • GET /api/changes : 모든 변경 사항 목록( plan_title 포함)

🤖 에이전트 도구(MCP를 통해)

AI 에이전트는 구성된 TRANSPORT 를 사용하여 MCP 서버에 연결하여 다음 도구를 사용합니다.

  • add_thought(...) : 새로운 생각을 기록합니다.
  • create_plan(...) : 새로운 계획을 정의합니다.
  • log_change(...) : 계획에 대해 수행된 작업을 기록합니다.
  • get_recent_thoughts(...) : 최신 생각을 검색합니다.
  • get_active_plans() : 모든 '활성' 계획을 검색합니다.
  • get_changes_by_plan(...) : 특정 계획 ID에 대한 변경 사항을 가져옵니다.
  • get_thought_details(...) : 특정 생각 ID(연결된 계획 포함)에 대한 세부 정보를 가져옵니다.
  • get_plan_details(...) : 특정 계획 ID에 대한 세부 정보를 가져옵니다(링크된 생각/변경 사항 포함).

(도구 인수 및 사용에 대한 자세한 에이전트 지침은 LLM.txt 참조하세요.)


🗄️ 데이터베이스

  • 프로젝트 디렉토리에 SQLite 파일( tpc_server.db )이 기본으로 사용됩니다. 간단하고 별도의 DB 서버가 필요하지 않습니다.
  • .env 에서 DATABASE_URL 변경하고 적절한 드라이버를 설치하면(예: pip install psycopg2-binary ) PostgreSQL, MySQL 등으로 쉽게 전환할 수 있습니다.
  • 서버 시작 시 테이블이 없으면 SQLAlchemy가 자동으로 테이블을 생성합니다.

🙌 기여하기

기여, 이슈, 기능 요청은 언제든 환영합니다! 이슈 페이지를 확인하시거나 풀 리퀘스트를 제출해 주세요.

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

tpc-서버

  1. 🤔 TPC란 무엇인가요?
    1. 🚀 특징
      1. 🛠️ 설치 및 설정
        1. 💡 사용법
          1. 🖥️ 웹 인터페이스
          2. 💻 JSON API
          3. 🤖 에이전트 도구(MCP를 통해)
        2. 🗄️ 데이터베이스
          1. 🙌 기여하기

            Related MCP Servers

            View all related MCP servers

            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/suttonwilliamd/tpc-server'

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