Claude TypeScript MCP Servers

by ukkz

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides web search and local search functionality using the Brave Search API to retrieve information from the web and find information about local businesses, services, and attractions.

  • Enables Git operations including viewing repository status, showing differences, committing changes, managing staging, viewing logs, creating branches, and initializing repositories.

  • Supports running Node.js development commands through the Shell MCP server for JavaScript/TypeScript development tasks.

Claude TypeScript MCP 서버

개발 지원을 위해 LLM을 사용하는 소프트웨어 개발자를 위한 모델 컨텍스트 프로토콜(MCP) 서버 모음입니다. 많은 개발자가 VSCode와 직접 통합되는 Cline을 선호하지만, Cline은 사용량 기반 API를 사용하기 때문에 사용량이 많을수록 비용이 많이 발생합니다. 이 프로젝트는 Claude Desktop 애플리케이션을 맞춤형 MCP 서버와 연결하여 Claude Pro 정액 구독을 활용하여, 변동 비용 없이 동등한 개발 지원 기능을 제공합니다.

일본어에 관해 설명하는 일: Cline에 대해 코드를 작성하면 API 크레짓트가 더 좋아져서 Claude Desktop + MCP를 사용할 수 있게 되었습니다.

개요

이 프로젝트는 Claude Desktop과 함께 사용하여 소프트웨어 개발 기능을 향상시킬 수 있는 여러 MCP 서버를 구현합니다.

  • Brave Search : Brave Search API를 사용하여 웹 검색 및 로컬 검색 기능을 제공합니다.
  • 파일 시스템 : 보안 제한 사항이 있는 파일 시스템 작업을 가능하게 합니다.
  • Git : 저장소 관리를 위한 Git 기능을 제공합니다.
  • GitHub : GitHub 저장소, 이슈, 풀 리퀘스트 등과의 상호 작용을 지원합니다.
  • Shell : 제어된 환경에서 Shell 명령을 실행할 수 있습니다.
  • Puppeteer : Puppeteer를 통해 브라우저 자동화 및 웹 상호 작용을 활성화합니다.
  • 가져오기 : URL에서 콘텐츠를 검색하고 HTML을 마크다운으로 변환하여 가독성을 향상시킵니다.

요구 사항

설치

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

구성

Claude Desktop에서 이러한 MCP 서버를 사용하려면 Claude에게 연결 방법을 알려주는 구성 파일을 만들어야 합니다. 다음은 구성 예시입니다.

{ "mcpServers": { "brave-search": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/brave-search.ts" ], "env": { "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY" } }, "filesystem": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/filesystem.ts", "/Users/username" ] }, "git": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/git.ts" ] }, "github": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/github.ts" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_DEFAULT_TOKEN", "GITHUB_TOKEN_WORK": "YOUR_WORK_ACCOUNT_TOKEN", "GITHUB_TOKEN_PERSONAL": "YOUR_PERSONAL_ACCOUNT_TOKEN" } }, "shell": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/shell.ts" ] }, "puppeteer": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/puppeteer.ts" ] }, "fetch": { "command": "/Users/username/.bun/bin/bun", "args": [ "run", "/Users/username/Documents/claude-ts-mcps/src/fetch.ts" ], "env": { "CUSTOM_USER_AGENT": "YOUR_CUSTOM_USER_AGENT", // Optional "IGNORE_ROBOTS_TXT": "false" // Optional, set to true to ignore robots.txt } } } }

이 구성을 claude_desktop_config.json 으로 저장하고 Claude Desktop에서 이를 사용하도록 구성합니다.

여러 GitHub 계정 지원

GitHub MCP 서버는 여러 GitHub 계정 간 전환을 지원합니다. 환경 변수를 구성하여 여러 계정 프로필을 설정할 수 있습니다.

"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_DEFAULT_TOKEN", // Default account (backward compatible) "GITHUB_TOKEN_WORK": "YOUR_WORK_ACCOUNT_TOKEN", // Work account profile "GITHUB_TOKEN_PERSONAL": "YOUR_PERSONAL_ACCOUNT_TOKEN" // Personal account profile }

요청에서 특정 계정 프로필을 사용하려면 GitHub API 호출에 account_profile 매개변수를 추가하세요.

{ "owner": "username", "repo": "repo-name", "path": "path/to/file.txt", "account_profile": "work" // Will use the GITHUB_TOKEN_WORK environment variable }

account_profile 이 지정되지 않으면 기본 GITHUB_PERSONAL_ACCESS_TOKEN 이 사용됩니다.

서버 구성 가져오기

Fetch MCP 서버는 환경 변수를 통해 사용자 정의 옵션을 제공합니다.

"env": { "CUSTOM_USER_AGENT": "YOUR_CUSTOM_USER_AGENT", // Optional: Specify a custom User-Agent header "IGNORE_ROBOTS_TXT": "false" // Optional: Set to "true" to bypass robots.txt rules }
  • CUSTOM_USER_AGENT : HTTP 요청에 대한 특정 사용자 에이전트 문자열을 정의할 수 있습니다. 이는 특정 웹사이트가 클라이언트 식별을 기반으로 액세스를 제한할 때 유용할 수 있습니다.
  • IGNORE_ROBOTS_TXT : 기본적으로(false) 페치 서버는 웹사이트에서 웹 크롤러를 제어하기 위해 설정한 robots.txt 규칙을 따릅니다. 이 값을 "true"로 설정하면 이 제한이 해제되지만, 책임감 있게 사용해야 합니다.

용법

  1. Claude Desktop 시작
  2. 구성 파일을 로드합니다
  3. 이제 Claude는 이러한 MCP 서버에서 제공하는 추가 도구에 액세스할 수 있습니다.

개발

각 MCP 서버는 src 디렉토리에 독립형 TypeScript 파일로 구현됩니다.

  • src/brave-search.ts : Brave Search API 통합
  • src/filesystem.ts : 파일 시스템 작업
  • src/git.ts : Git 작업
  • src/github.ts : 저장소 관리, 이슈, PR 등을 위한 GitHub API 통합
  • src/shell.ts : 셸 명령 실행
  • src/puppeteer.ts : 브라우저 자동화 및 웹 상호 작용
  • src/fetch.ts : URL 콘텐츠 검색 및 HTML-마크다운 변환

GitHub MCP 서버는 모듈식 구조를 가지고 있습니다.

  • src/github/common/ : 공통 유틸리티, 인터페이스 및 유형
  • src/github/operations/ : 다양한 GitHub API 작업 구현
  • src/github/tools/ : MCP 서버에 대한 도구 정의

새로운 기능을 추가하려면:

  1. src 디렉토리에 새로운 TypeScript 파일을 만듭니다.
  2. @modelcontextprotocol/sdk 를 사용하여 MCP 서버를 구현합니다.
  3. Claude Desktop 구성에 새 서버를 추가합니다.

보안 고려 사항

  • 파일 시스템과 셸 서버에는 무단 접근을 방지하기 위한 보안 조치가 포함되어 있습니다.
  • 명령을 실행하기 전에 항상 사용자 입력을 검증하세요
  • 파일 시스템 액세스를 위해 허용된 디렉토리를 구성할 때는 주의하세요.
  • 쉘 서버에 대해 실행 가능한 명령을 제한하려면 allowlist 명령을 사용하십시오.
  • fetch 서버는 기본적으로 robots.txt 지침을 준수하여 제한된 사이트 스크래핑을 방지합니다.
  • GitHub 개인 액세스 토큰을 안전하게 저장하고 적절한 토큰 권한을 사용하세요.

참고문헌

특허

MIT 라이센스

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Claude Desktop이 API 사용 비용을 발생시키지 않고도 파일 시스템, Git, 셸 명령 및 웹 검색 기능을 통해 개발 지원 기능을 제공할 수 있도록 하는 Model Context Protocol 서버 모음입니다.

  1. Overview
    1. Requirements
      1. Installation
        1. Configuration
          1. Multiple GitHub Account Support
          2. Fetch Server Configuration
        2. Usage
          1. Development
            1. Security Considerations
              1. References
                1. License
                  ID: s0v7ilayxa