Mouser Search
Servidor del Protocolo de Contexto de Modelo para la API de Búsqueda de Mouser
Documentación
mouser-search-mcp
Servidor del Protocolo de Contexto de Modelo para la API de Búsqueda de Mouser Electronics.
Expone la API de Búsqueda de Mouser como herramientas MCP para que clientes compatibles con MCP (Claude Code, Claude Desktop, etc.) puedan consultar el catálogo de piezas de Mouser.
Herramientas
| Herramienta | Endpoint | Qué hace |
|---|---|---|
search_by_keyword | POST /api/v1/search/keyword | Búsqueda por palabras clave en todo el catálogo (hasta 50 piezas). Admite paginación y filtros de RoHS/disponibilidad en stock. |
search_by_part_number | POST /api/v1/search/partnumber | Consulta de 1 a 10 números de pieza (separados por tubería), con coincidencia exacta opcional. |
search_by_keyword_and_manufacturer | POST /api/v2/search/keywordandmanufacturer | Búsqueda por palabras clave limitada a un fabricante por nombre. |
search_by_part_number_and_manufacturer | POST /api/v2/search/partnumberandmanufacturer | Consulta de número de pieza limitada a un fabricante por nombre. |
list_manufacturers | GET /api/v2/search/manufacturerlist | Enumera nombres de fabricantes (usa el resultado para completar el argumento manufacturer_name en las dos herramientas filtradas por fabricante). |
Requisitos previos
- Python 3.10+
- Una clave de API de Búsqueda de Mouser: solicítala en https://www.mouser.com/api-search/.
Instalación
Usando uv (recomendado):
uv pip install -e .
O con pip:
pip install -e .
Configuración
El servidor lee la clave de API de la variable de entorno MOUSER_API_KEY. Copia .env.example a .env y completa tu clave, o expórtala en tu terminal.
Ejecución
El servidor habla MCP a través de stdio:
MOUSER_API_KEY=... mouser-search-mcp
Uso con Claude Code
Registra el servidor (reemplaza la ruta y la clave):
claude mcp add mouser-search \
--env MOUSER_API_KEY=your-key \
-- mouser-search-mcp
Uso con Claude Desktop
Añade a claude_desktop_config.json:
{
"mcpServers": {
"mouser-search": {
"command": "mouser-search-mcp",
"env": {
"MOUSER_API_KEY": "your-key"
}
}
}
}
Si mouser-search-mcp no está en tu PATH, apunta command a la ruta absoluta del script (por ejemplo, dentro del bin/ de tu entorno virtual).
Notas
- Mouser devuelve como máximo 50 registros por respuesta de búsqueda. Usa
records+starting_record(búsqueda por palabras clave v1) orecords+page_number(búsqueda por palabras clave + fabricante v2) para paginar. search_optionsaceptaNone,Rohs,InStockoRohsAndInStock: solo uno a la vez.part_search_optionsaceptaNoneoExact.- Los endpoints de carrito y pedidos documentados por Mouser requieren una clave de API de Pedidos y no están expuestos por este servidor: solo cubre búsqueda.
Publicación de versiones
El versionado y las publicaciones están totalmente automatizados por python-semantic-release. Cada push a main ejecuta .github/workflows/release.yml, que:
- Inspecciona los commits desde la última etiqueta.
- Decide la siguiente versión (o no hace nada si no hay commits que merezcan publicación).
- Actualiza
versionenpyproject.toml, genera el registro de cambios, hace commit y envía una etiquetavX.Y.Z. - Compila wheel + sdist y los sube a PyPI.
- Crea una Release de GitHub con notas generadas automáticamente.
Gramática de commits
Los commits deben seguir Conventional Commits. La palabra clave inicial decide el incremento de versión:
| Prefijo | Incremento | Ejemplo |
|---|---|---|
feat: | menor | feat: add list_manufacturers tool |
fix: | parche | fix: handle empty Errors array |
perf: | parche | perf: reuse httpx client |
feat!: / BREAKING CHANGE: en el cuerpo | mayor | feat!: rename tools |
docs:, chore:, refactor:, test:, ci:, style: | ninguno | (sin publicación) |
Cualquier otra cosa se ignora. Si envías una ráfaga de commits pequeños, semantic-release los agrupa en una sola publicación en la siguiente ejecución del flujo de trabajo.
Configuración inicial
Estos pasos deben realizarse una vez en la interfaz de GitHub antes de que el flujo de trabajo pueda publicar:
- Cuenta de PyPI + token — crea una cuenta de PyPI y luego, en la página de tokens de API, genera un token con alcance de cuenta (el proyecto aún no existe en PyPI, por lo que no puede tener alcance de proyecto en la primera publicación; vuelve a asignarle alcance a
mouser-search-mcpdespués de la primera publicación exitosa). - Secreto del repositorio — en GitHub: Settings → Secrets and variables → Actions → New repository secret, nómbralo
PYPI_API_TOKENy pega el valor del token. - Permisos del flujo de trabajo — Settings → Actions → General → Workflow permissions debe estar configurado en Read and write permissions para que semantic-release pueda enviar el commit de incremento de versión y la etiqueta.
Después de eso, solo haz merge a main con un commit feat: o fix: y el resto ocurre automáticamente. Para omitir una publicación, usa un prefijo sin incremento (docs:, chore:, etc.) o incluye [skip ci] en el mensaje del commit.