Mouser Search
Servidor do Protocolo de Contexto de Modelo para a API de Pesquisa Mouser
Documentação
mouser-search-mcp
Servidor Model Context Protocol para a Mouser Electronics Search API.
Expõe a Mouser Search API como ferramentas MCP para que clientes compatíveis com MCP (Claude Code, Claude Desktop, etc.) possam consultar o catálogo de peças da Mouser.
Ferramentas
| Ferramenta | Endpoint | O que faz |
|---|---|---|
search_by_keyword | POST /api/v1/search/keyword | Pesquisa por palavra-chave em todo o catálogo (até 50 peças). Suporta paginação e filtros RoHS/em estoque. |
search_by_part_number | POST /api/v1/search/partnumber | Consulta de 1 a 10 números de peça (separados por pipe), com correspondência exata opcional. |
search_by_keyword_and_manufacturer | POST /api/v2/search/keywordandmanufacturer | Pesquisa por palavra-chave limitada a um fabricante pelo nome. |
search_by_part_number_and_manufacturer | POST /api/v2/search/partnumberandmanufacturer | Consulta de número de peça limitada a um fabricante pelo nome. |
list_manufacturers | GET /api/v2/search/manufacturerlist | Enumera nomes de fabricantes (use o resultado para preencher o argumento manufacturer_name nas duas ferramentas filtradas por fabricante). |
Pré-requisitos
- Python 3.10+
- Uma chave Search API da Mouser — solicite uma em https://www.mouser.com/api-search/.
Instalação
Usando uv (recomendado):
uv pip install -e .
Ou com pip:
pip install -e .
Configuração
O servidor lê a chave da API da variável de ambiente MOUSER_API_KEY. Copie .env.example para .env e preencha com sua chave, ou exporte-a no seu shell.
Execução
O servidor fala MCP via stdio:
MOUSER_API_KEY=... mouser-search-mcp
Uso com Claude Code
Registre o servidor (substitua o caminho e a chave):
claude mcp add mouser-search \
--env MOUSER_API_KEY=your-key \
-- mouser-search-mcp
Uso com Claude Desktop
Adicione a claude_desktop_config.json:
{
"mcpServers": {
"mouser-search": {
"command": "mouser-search-mcp",
"env": {
"MOUSER_API_KEY": "your-key"
}
}
}
}
Se mouser-search-mcp não estiver no seu PATH, aponte command para o caminho absoluto do script (por exemplo, dentro do bin/ do seu venv).
Notas
- A Mouser retorna no máximo 50 registros por resposta de pesquisa. Use
records+starting_record(pesquisa por palavra-chave v1) ourecords+page_number(pesquisa por palavra-chave + fabricante v2) para paginar. search_optionsaceitaNone,Rohs,InStockouRohsAndInStock— apenas um por vez.part_search_optionsaceitaNoneouExact.- Os endpoints de carrinho e pedido documentados pela Mouser exigem uma chave de API de Ordering e não são expostos por este servidor — ele cobre apenas pesquisa.
Lançamento
Versionamento e lançamentos são totalmente automatizados por python-semantic-release. Cada push para main executa .github/workflows/release.yml, que:
- Inspeciona os commits desde a última tag.
- Decide a próxima versão (ou não faz nada se não houver commits dignos de lançamento).
- Atualiza
versionempyproject.toml, gera o changelog, faz commit e envia uma tagvX.Y.Z. - Constrói wheel + sdist e os envia para o PyPI.
- Cria um GitHub Release com notas geradas automaticamente.
Gramática de commits
Os commits devem seguir Conventional Commits. A palavra-chave inicial decide o incremento de versão:
| Prefixo | Incremento | Exemplo |
|---|---|---|
feat: | minor | feat: add list_manufacturers tool |
fix: | patch | fix: handle empty Errors array |
perf: | patch | perf: reuse httpx client |
feat!: / BREAKING CHANGE: no corpo | major | feat!: rename tools |
docs:, chore:, refactor:, test:, ci:, style: | nenhum | (sem lançamento) |
Qualquer outra coisa é ignorada. Se você enviar uma enxurrada de commits pequenos, o semantic-release os agrupa em um único lançamento na próxima execução do workflow.
Configuração única
Estas etapas precisam ser feitas uma vez na interface do GitHub antes que o workflow possa publicar:
- Conta PyPI + token — crie uma conta PyPI e, na página de tokens de API, gere um token com escopo de conta (o projeto ainda não existe no PyPI, então não pode ter escopo de projeto no primeiro lançamento; redefina o escopo para
mouser-search-mcpapós a primeira publicação bem-sucedida). - Segredo do repositório — no GitHub: Settings → Secrets and variables → Actions → New repository secret, nomeie
PYPI_API_TOKENe cole o valor do token. - Permissões do workflow — Settings → Actions → General → Workflow permissions deve ser definido como Read and write permissions para que o semantic-release possa enviar o commit de incremento de versão e a tag.
Depois disso, basta mesclar para main com um commit feat: ou fix: e o resto acontece automaticamente. Para pular um lançamento, use um prefixo sem incremento (docs:, chore:, etc.) ou inclua [skip ci] na mensagem do commit.