MCP-Typescribe

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables loading and indexing of TypeDoc-generated JSON documentation for Node.js projects, allowing LLMs to efficiently explore and understand Node.js APIs through various query endpoints.

  • Parses TypeScript definitions into a machine-readable format, providing comprehensive query capabilities including symbol search, detailed type information, and relationship exploration for TypeScript APIs.

MCP-Typescribe - LLM API 정보를 제공하는 MCP 서버

문제

대규모 언어 모델(LLM)은 코드 생성 및 개발자 생산성 측면에서 놀라운 발전을 이루었습니다. 그러나 LLM은 학습 과정에서 접한 API와 라이브러리만 안정적으로 사용할 수 있다는 중요한 한계에 직면해 있습니다. 이로 인해 새로운 도구, SDK 또는 내부 API를 도입하는 데 병목 현상이 발생합니다. LLM은 이러한 API를 효과적으로 사용하는 방법을 알지 못하기 때문입니다.

도구에 소스 코드 접근 권한(소스가 제공되는 API와 상호작용할 때)이나 문서 파일(예: 타입스크립트 유형 정의 파일) 접근 권한을 부여할 수 있지만, 이는 대규모 API에는 적합하지 않습니다. LLM은 API에 대해 더 자세히 알아볼 수 있는 더 효율적인 방법이 필요합니다. 모든 요청에 대해 모든 문서를 맥락에 맞춰 제공하는 것은 비효율적이고 실행 불가능하며, 결과적으로 좋지 않은 결과를 초래합니다.

결과적으로:

규모가 큰 새 API나 내부 API는 LLM에 "보이지 않습니다".

개발자는 LLM을 수동으로 안내하거나 사용 예를 제공해야 합니다.

API가 출시되고 AI 도구가 이를 널리 이해하는 데까지 시간이 걸리면 혁신이 더디게 진행됩니다.

아이디어

이 프로젝트는 모델 컨텍스트 프로토콜(MCP)의 오픈 소스 구현입니다. MCP는 LLM에 상황에 맞는 실시간 정보 접근을 제공하도록 설계된 프로토콜입니다. 이 경우 API 문서가 사용되며, 특히 현재 이 프로젝트에서는 TypeScript 정의가 사용됩니다.

우리의 목표는 다음과 같습니다.

TypeScript(및 기타) 정의를 기계가 읽을 수 있는 형식으로 구문 분석합니다.

Claude, Cline, Cursor, Windsurf 및 기타 사용자 정의 인터페이스와 같은 도구를 통해 이러한 컨텍스트를 LLM에 동적으로 제공합니다.

LLM이 재교육 없이 익숙하지 않은 API에 대해 쿼리, 계획 및 적응할 수 있도록 하여 에이전트적 행동을 활성화합니다.

이것이 가능하게 하는 것

LLM 기반 코딩 어시스턴트를 위한 플러그 앤 플레이 API 지원.

새로운 SDK나 자체 SDK에 대한 온보딩이 더 빨라졌습니다.

더욱 자율적이고 상황을 인식하는 코딩 에이전트를 향한 한 걸음.

프로젝트 개요

이 프로젝트는 AI 에이전트가 알려지지 않은 TypeScript API를 효율적으로 탐색하고 이해할 수 있는 방법을 제공합니다. TypeDoc에서 생성된 JSON 문서를 로드하고, 에이전트가 심볼을 검색하고, API의 특정 부분에 대한 자세한 정보를 얻고, 여러 구성 요소 간의 관계를 이해할 수 있도록 하는 쿼리 엔드포인트 세트를 통해 이를 노출합니다.

현재 기능

  • TypeDoc 통합 : 효율적인 쿼리를 위해 TypeDoc JSON 문서를 로드하고 인덱싱합니다.
  • 포괄적인 쿼리 기능 : TypeScript API 탐색을 위한 광범위한 도구 제공
  • MCP 프로토콜 : AI 에이전트와의 원활한 통합을 위해 모델 컨텍스트 프로토콜을 따릅니다.

쿼리 기능

서버는 API 쿼리를 위해 다음과 같은 도구를 제공합니다.

  • search_symbols : 종류별 필터링을 통해 이름으로 심볼 찾기
  • get_symbol_details : 특정 심볼에 대한 자세한 정보를 가져옵니다.
  • list_members : 클래스 또는 인터페이스의 메서드와 속성을 나열합니다.
  • get_parameter_info : 함수 매개변수에 대한 정보를 가져옵니다.
  • find_implementations : 인터페이스 또는 하위 클래스의 구현 찾기
  • search_by_return_type : 특정 유형을 반환하는 함수 찾기
  • search_by_description : JSDoc 주석에서 검색
  • get_type_hierarchy : 상속 관계 표시
  • find_usages : 유형/함수가 사용되는 위치 찾기

시작하기

필수 조건

  • 노드.js
  • 엔피엠

설치

  1. 저장소를 복제합니다
  2. 종속성 설치:지엑스피1

용법

  1. TypeScript API에 대한 TypeDoc JSON을 생성합니다.
    npx typedoc --json docs/api.json --entryPointStrategy expand path/to/your/typescript/files
    기존 .d.ts 파일이 있는 경우 다음과 같이 api json 파일을 만들 수 있습니다.별도의 tsconfig.docs.json 만듭니다.
    { "extends": "./tsconfig.json", "files": ["existing.d.ts"], "typedocOptions": { "entryPoints": ["existing.d.ts"], "json": "docs/api.json", "pretty": false } }
    그럼 그렇게 하세요
    npx typedoc --tsconfig tsconfig.docs.json
  2. 프로젝트를 빌드하세요:
    npm run build
  3. MCP 서버 탐색:
    npx @modelcontextprotocol/inspector node ./dist/mcp-server/index.js run-server docs/api.json
  4. API를 쿼리하기 위해 AI 에이전트를 서버에 연결합니다.예를 들어 VSCode에서 cline을 사용하는 경우 cline_mcp_settings.json 에 다음 MCP 서버를 지정합니다.
    { "mcpServers": { "typescribe": { "command": "npx", "args": [ "-y", "mcp-typescribe@latest", "run-server", "<PATH_TO_API_DOT_JSON>" ], "env": {} } } }
  5. 서버를 활성화하고 다양한 도구를 자동으로 승인하세요. 상담원에게 "typescribe" 도구를 사용하여 API에 대해 알아보라고 안내하세요.

프로젝트 구조

  • src/sample-api/ : 테스트를 위한 샘플 TypeScript API - LLM이 API를 환각하지 않는지 테스트하기 위해 API 이름에 이상한 독일어와 유사한 방언을 사용합니다.
  • src/mcp-server/ : MCP 서버 구현
    • utils/ : 유틸리티 함수
    • schemas/ : MCP 도구에 대한 JSON 스키마
    • core/ : 핵심 기능
    • server.ts : MCP 서버 구현
    • index.ts : 진입점
  • tests/ : API 기능에 대한 테스트

개발

테스트 실행

npm test

건물

npm run build

특허

MIT

저작권 2025 yWorks GmbH - https://www.yworks.com

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

LLM이 TypeScript 유형 정의 및 문서에 대한 구조화된 액세스를 제공하여 교육을 받지 않은 TypeScript API를 이해하고 작업할 수 있도록 하는 MCP 서버입니다.

  1. The Problem
    1. As a result:
      1. The Idea
        1. Our goal is to:
          1. What This Enables
            1. Project Overview
              1. Current Features
                1. Query Capabilities
                  1. Getting Started
                    1. Prerequisites
                    2. Installation
                    3. Usage
                  2. Project Structure
                    1. Development
                      1. Running Tests
                      2. Building
                    2. License
                      ID: 8fjzcsyi8f