MCP Conversation Server

MCP 대화형 서버

OpenRouter 언어 모델을 사용하여 대화를 관리하기 위한 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 이 서버는 통합 대화 관리 시스템을 통해 애플리케이션이 다양한 언어 모델과 상호 작용할 수 있도록 표준화된 인터페이스를 제공합니다.

특징

  • MCP 프로토콜 지원
    • 전체 MCP 프로토콜 준수
    • 자원 관리 및 발견
    • 도구 기반 상호작용 모델
    • 스트리밍 응답 지원
    • 오류 처리 및 복구
  • OpenRouter 통합
    • 모든 OpenRouter 모델 지원
    • 실시간 스트리밍 응답
    • 자동 토큰 계산
    • 모델 컨텍스트 창 관리
    • 사용 가능한 모델은 다음과 같습니다.
      • 클로드 3 작품
      • 클로드 3 소네트
      • 라마 2 70B
      • OpenRouter 카탈로그에서 더 많은 것을 찾아보세요.
  • 대화 관리
    • 여러 대화를 만들고 관리하세요
    • 시스템 메시지 지원
    • 메시지 기록 추적
    • 토큰 사용 모니터링
    • 대화 필터링 및 검색
  • 스트리밍 지원
    • 실시간 메시지 스트리밍
    • 청크 응답 처리
    • 토큰 카운팅
  • 파일 시스템 지속성
    • 대화 상태 지속성
    • 구성 가능한 저장 위치
    • 자동 상태 관리

설치

지엑스피1

구성

구성

MCP 대화형 서버의 모든 구성은 이제 YAML을 통해 제공됩니다. config/models.yaml 파일을 원하는 설정으로 업데이트하세요. 예:

# MCP Server Configuration openRouter: apiKey: "YOUR_OPENROUTER_API_KEY" # Replace with your actual OpenRouter API key. persistence: path: "./conversations" # Directory for storing conversation data. models: # Define your models here 'provider/model-name': id: 'provider/model-name' contextWindow: 123456 streaming: true temperature: 0.7 description: 'Model description' # Default model to use if none specified defaultModel: 'provider/model-name'

서버 구성

MCP 대화 서버는 이제 YAML 파일에서 모든 구성을 로드합니다. 애플리케이션에서 다음과 같이 구성을 로드할 수 있습니다.

const config = await loadModelsConfig(); // Loads openRouter, persistence, models, and defaultModel settings from 'config/models.yaml'

참고: 모든 구성이 YAML 파일을 통해 제공되므로 환경 변수는 더 이상 필요하지 않습니다.

용법

기본 서버 설정

import { ConversationServer } from 'mcp-conversation-server'; const server = new ConversationServer(config); server.run().catch(console.error);

사용 가능한 도구

서버는 여러 가지 MCP 도구를 제공합니다.

  1. 대화 만들기
    { provider: 'openrouter', // Provider is always 'openrouter' model: string, // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229') title?: string; // Optional conversation title }
  2. 메시지 보내기
    { conversationId: string; // Conversation ID content: string; // Message content stream?: boolean; // Enable streaming responses }
  3. 목록 대화
    { filter?: { model?: string; // Filter by model startDate?: string; // Filter by start date endDate?: string; // Filter by end date } }

자원

서버는 다양한 리소스에 대한 액세스를 제공합니다.

  1. 대화://{id}
    • 특정 대화 세부 정보에 액세스
    • 메시지 기록 보기
    • 대화 메타데이터 확인
  2. 대화://목록
    • 모든 활성 대화 나열
    • 기준에 따라 대화 필터링
    • 최근 활동순으로 정렬

개발

건물

npm run build

테스트 실행

npm test

디버깅

서버는 여러 가지 디버깅 기능을 제공합니다.

  1. 오류 로깅
    • 모든 오류는 스택 추적으로 기록됩니다.
    • 토큰 사용 추적
    • 속도 제한 모니터링
  2. MCP 검사관
    npm run inspector
    MCP 검사기를 사용하여 다음을 수행할 수 있습니다.
    • 테스트 도구 실행
    • 리소스 내용 보기
    • 메시지 흐름 모니터링
    • 프로토콜 준수 확인
  3. 공급자 검증
    await server.providerManager.validateProviders();
    검증합니다:
    • API 키 유효성
    • 모델 가용성
    • 요금 제한 상태

문제 해결

일반적인 문제 및 해결 방법:

  1. OpenRouter 연결 문제
    • API 키가 유효한지 확인하세요
    • OpenRouter 대시보드 에서 속도 제한을 확인하세요
    • 모델 ID가 올바른지 확인하세요
    • 신용 사용량 모니터링
  2. 메시지 스트리밍 오류
    • 모델 스트리밍 지원 확인
    • 연결 안정성을 확인하세요
    • 토큰 한도 모니터링
    • 시간 초과 설정 처리
  3. 파일 시스템 오류
    • 디렉토리 권한 확인
    • 경로 구성 확인
    • 디스크 공간 모니터링
    • 동시 액세스 처리

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 변경 사항을 커밋하세요
  4. 지점으로 밀어 넣기
  5. 풀 리퀘스트 만들기

특허

ISC 라이센스

-
security - not tested
A
license - permissive license
-
quality - not tested

통합된 대화 관리 시스템을 통해 애플리케이션이 OpenRouter의 언어 모델과 상호 작용할 수 있는 표준화된 인터페이스를 제공하는 모델 컨텍스트 프로토콜 서버 구현입니다.

  1. Features
    1. Installation
      1. Configuration
        1. Configuration
        2. Server Configuration
      2. Usage
        1. Basic Server Setup
        2. Available Tools
        3. Resources
      3. Development
        1. Building
        2. Running Tests
        3. Debugging
        4. Troubleshooting
      4. Contributing
        1. License
          ID: 9z65bn8i2v