Claude TypeScript MCP Servers
Servidores MCP de Claude TypeScript
Una colección de servidores de Protocolo de Contexto de Modelo (MCP) dirigidos a desarrolladores de software que utilizan LLM para asistencia en el desarrollo. Si bien muchos desarrolladores prefieren Cline por su integración directa con VSCode, utiliza una API de pago por uso que se vuelve costosa con un uso intensivo. Este proyecto aprovecha la suscripción de tarifa plana de Claude Pro conectando la aplicación Claude Desktop con servidores MCP personalizados, lo que proporciona capacidades de asistencia en el desarrollo comparables sin los costos variables.
日本語による解説記事: Cline任せでコード書いてたらAPIクレジットが爆散したのでClaude Desktop + MCPをいい感じにしてサブスクだけで無双する
Descripción general
Este proyecto implementa varios servidores MCP que se pueden utilizar con Claude Desktop para mejorar sus capacidades de desarrollo de software:
Brave Search : proporciona funciones de búsqueda web y búsqueda local mediante la API de Brave Search
Sistema de archivos : permite operaciones del sistema de archivos con restricciones de seguridad
Git : proporciona la funcionalidad de Git para administrar repositorios.
GitHub : permite la interacción con repositorios de GitHub, problemas, solicitudes de extracción y más.
Shell : permite la ejecución de comandos de shell en un entorno controlado
Puppeteer : permite la automatización del navegador y la interacción web a través de Puppeteer
Obtener : recupera contenido de las URL y convierte HTML a Markdown para mejorar la legibilidad
Related MCP server: MCP Tools
Requisitos
Node.js (versión 18+)
Bun como entorno de ejecución de JavaScript/TypeScript
Aplicación de escritorio Claude
Instalación
Clonar el repositorio:
git clone https://github.com/yourusername/claude-ts-mcps.git cd claude-ts-mcpsInstalar dependencias:
bun install
Configuración
Para usar estos servidores MCP con Claude Desktop, necesita crear un archivo de configuración que le indique a Claude cómo conectarse a ellos. A continuación, se muestra un ejemplo de configuración:
{
"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
}
}
}
}Guarde esta configuración como claude_desktop_config.json y configure Claude Desktop para usarla.
Compatibilidad con varias cuentas de GitHub
El servidor MCP de GitHub permite cambiar entre varias cuentas de GitHub. Puedes configurar varios perfiles de cuenta configurando las variables de entorno:
"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
}Para usar un perfil de cuenta específico en sus solicitudes, agregue el parámetro account_profile a cualquier llamada a la API de GitHub:
{
"owner": "username",
"repo": "repo-name",
"path": "path/to/file.txt",
"account_profile": "work" // Will use the GITHUB_TOKEN_WORK environment variable
}Si no se especifica ningún account_profile , se utilizará el GITHUB_PERSONAL_ACCESS_TOKEN predeterminado.
Obtener la configuración del servidor
El servidor Fetch MCP proporciona opciones de personalización a través de variables de entorno:
"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: le permite definir una cadena de agente de usuario específica para solicitudes HTTP, lo que puede ser útil cuando ciertos sitios web restringen el acceso en función de la identificación del cliente.IGNORE_ROBOTS_TXT: Por defecto (falso), el servidor de búsqueda respeta las reglas de robots.txt que los sitios web establecen para controlar los rastreadores web. Si se establece en "true", se desactiva esta restricción, pero se recomienda su uso responsable.
Uso
Iniciar Claude Desktop
Cargar el archivo de configuración
Claude ahora tendrá acceso a las herramientas adicionales proporcionadas por estos servidores MCP
Desarrollo
Cada servidor MCP se implementa como un archivo TypeScript independiente en el directorio src :
src/brave-search.ts: Integración de la API de Brave Searchsrc/filesystem.ts: Operaciones del sistema de archivossrc/git.ts: Operaciones de Gitsrc/github.ts: Integración de API de GitHub para gestión de repositorios, problemas, solicitudes de incorporación de cambios, etc.src/shell.ts: Ejecución de comandos de shellsrc/puppeteer.ts: Automatización del navegador e interacción websrc/fetch.ts: Recuperación de contenido de URL y conversión de HTML a Markdown
El servidor MCP de GitHub tiene una estructura modular:
src/github/common/: Utilidades, interfaces y tipos comunessrc/github/operations/: Implementación de varias operaciones de la API de GitHubsrc/github/tools/: Definiciones de herramientas para el servidor MCP
Para agregar nueva funcionalidad:
Crea un nuevo archivo TypeScript en el directorio
srcImplementar el servidor MCP usando
@modelcontextprotocol/sdkAñade el nuevo servidor a tu configuración de Claude Desktop
Consideraciones de seguridad
El sistema de archivos y los servidores de shell incluyen medidas de seguridad para evitar el acceso no autorizado.
Siempre valide la entrada del usuario antes de ejecutar comandos
Tenga cuidado al configurar directorios permitidos para el acceso al sistema de archivos
Utilice la lista de permitidos de comandos para el servidor de shell para restringir los comandos ejecutables
El servidor de búsqueda respeta las directivas robots.txt de forma predeterminada para evitar el rastreo de sitios restringidos.
Almacene sus tokens de acceso personal de GitHub de forma segura y utilice los permisos de token adecuados
Referencias
Licencia
Available Tools
2 toolsbrave_local_searchA
Finds information about local businesses, services, attractions, and locations with real-time data. Use this tool proactively whenever a query mentions specific places or location-based information. This is especially useful for questions about restaurants, shops, tourist attractions, local services, or any place-based inquiry. You should automatically search when users ask about places 'near' somewhere, business hours, local reviews, addresses, or location details that would benefit from current information. This provides much more accurate and up-to-date information than your built-in knowledge.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 5) | |
| query | Yes | Local search query (e.g. 'pizza near Central Park') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: it's a search tool (implying read-only, non-destructive), uses real-time data, and is proactive/automatic for certain queries. However, it doesn't mention rate limits, authentication needs, or error conditions, leaving some behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose. However, it includes some redundancy (e.g., repeating location-based examples) and could be slightly more streamlined without losing clarity. Every sentence adds value, but it's not maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is largely complete. It covers purpose, usage, and behavioral context well. The main gap is the lack of output format details, which is significant since there's no output schema, but the description compensates somewhat by emphasizing the type of information returned (real-time data about places).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description doesn't add any parameter-specific details beyond what's in the schema (e.g., it doesn't explain 'query' format beyond the schema's example or 'count' constraints beyond the schema's range). This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('finds information') and resources ('local businesses, services, attractions, locations'), and explicitly distinguishes it from its sibling tool by emphasizing its focus on real-time local data versus the broader 'brave_web_search'. It provides concrete examples of what it searches for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('whenever a query mentions specific places or location-based information') and provides detailed examples of use cases (e.g., questions about restaurants, 'near' queries, business hours). It also contrasts with alternatives by noting it provides 'more accurate and up-to-date information than your built-in knowledge', though it doesn't explicitly name the sibling tool as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_web_searchA
Retrieves up-to-date information from the web using Brave Search. You should proactively use this tool whenever you need current information beyond your knowledge cutoff, when answering questions about recent events, when asked about specific facts you're uncertain about, or when providing comprehensive answers. Search automatically when you suspect information might be outdated or when greater detail would improve your response. Use this for news, technical information, current events, product details, or any topic where fresh, accurate data would enhance your answer quality.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 10) | |
| offset | No | Pagination offset (max 9, default 0) | |
| query | Yes | Search query (max 400 chars, 50 words) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool retrieves 'up-to-date information' and should be used for 'fresh, accurate data,' which implies real-time capabilities but doesn't detail rate limits, authentication needs, or error handling. It adds some context but lacks comprehensive behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose. However, it includes repetitive phrases like 'when you need current information' and 'when greater detail would improve your response,' which could be more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (web search with three parameters) and no output schema, the description is fairly complete. It covers purpose, usage guidelines, and context, but lacks details on output format or error handling, which would enhance completeness for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters (query, count, offset) with their descriptions. The tool description doesn't add any additional meaning or examples beyond what the schema provides, such as search strategy or query formatting tips, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Retrieves up-to-date information from the web using Brave Search.' It specifies the verb ('retrieves'), resource ('information from the web'), and distinguishes it from the sibling tool 'brave_local_search' by emphasizing web-based, current information rather than local data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool, listing specific scenarios such as needing current information beyond knowledge cutoff, answering questions about recent events, or when greater detail would improve responses. It also implicitly distinguishes from alternatives by focusing on web search, though it doesn't explicitly name when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
brave_local_search - First observed
brave_web_search
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: brave_local_search is focused on location-based queries for businesses, services, and attractions, while brave_web_search handles general web searches for current events, news, and broader information. There is no overlap in their intended use cases, making it easy for an agent to choose the correct tool based on the query type.
Both tools follow a consistent naming pattern with the prefix 'brave_' followed by a descriptive term ('local_search' and 'web_search'), using snake_case throughout. This uniformity makes the tool set predictable and easy to understand, with no deviations in style or structure.
With only two tools, the server feels thin for a general-purpose search functionality, as it might lack coverage for specific domains or advanced search capabilities. While the tools are well-defined, a broader scope could benefit from additional tools to handle more nuanced search types or integrations, making the count borderline for the apparent purpose.
The tool set covers the core search needs with local and web search, providing a good foundation for real-time information retrieval. However, there are minor gaps, such as the absence of tools for specialized searches (e.g., image, video, or academic searches) or advanced filtering options, which agents might need to work around for more complex queries.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.5-
- AlicenseNot gradedqualityDmaintenanceA custom Model Context Protocol server that gives Claude Desktop and other LLMs access to file system operations and command execution capabilities through standardized tool interfaces.23Apache 2.0
- FlicenseNot gradedqualityDmaintenanceIntegration project for Model Context Protocol (MCP) servers with Claude Desktop App, enabling filesystem operations, development support, and file management through natural language.-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude Desktop to perform file operations like reading, writing, listing directories, and managing files through natural language commands.MIT