veska-mcp
v0.1.0
Published
Veska AI — MCP server (npx -y veska-mcp). Tools: search/install/compose/run.
Maintainers
Readme
@veska/mcp
MCP server do Veska AI. Expõe o catálogo do Veska como tools MCP para clientes como Claude Desktop, Claude Code e Cursor, via transporte stdio.
O MCP é parte da distribuição do produto: o assistente do usuário descobre, instala e executa skills do Veska direto pelas tools.
Tools
| Tool | Auth | Descrição |
| ----------------- | ---- | ------------------------------------------------------------------------- |
| veska_search | não | Busca skills por texto livre e categoria. Retorna slug/nome/descrição. |
| veska_get_skill | não | Detalhe de uma skill + corpo (body) da versão latest. |
| veska_install | sim | Registra instalação (claude-code/cursor/codex) e retorna o body da skill. |
| veska_compose | sim | Executa um prompt no Composer (consome créditos). |
| veska_run | sim | Executa uma skill via Runner com um input (consome créditos). |
| veska_balance | sim | Saldo de créditos da conta. |
Tools autenticadas exigem VESKA_TOKEN. Sem ele, retornam erro claro orientando
a configurar o token. Erros 401 (token inválido/ausente) e 402 (créditos
insuficientes) são traduzidos em mensagens acionáveis no conteúdo da resposta.
Configuração por ambiente
| Variável | Default | Descrição |
| --------------- | --------------------------- | --------------------------------- |
| VESKA_API_URL | http://localhost:3001/api | Base da API do Veska. |
| VESKA_TOKEN | — | Token Bearer (gerado no app/CLI). |
Uso com Claude Desktop / .mcp.json
Adicione ao .mcp.json (Claude Code) ou ao claude_desktop_config.json:
{
"mcpServers": {
"veska": {
"command": "npx",
"args": ["-y", "@veska/mcp"],
"env": {
"VESKA_TOKEN": "seu-token-aqui",
"VESKA_API_URL": "https://api.veska.ai/api"
}
}
}
}O binário publicado é veska-mcp (bin). Em desenvolvimento local, após o
build, é possível apontar command para node e args para
["/caminho/para/packages/mcp/dist/index.js"].
Desenvolvimento
pnpm --filter @veska/mcp build # compila para dist/ (entrypoint executável)
pnpm --filter @veska/mcp typecheck # checagem de tipos (strict)
pnpm --filter @veska/mcp lint # eslintStack: TypeScript strict, ESM, @modelcontextprotocol/sdk (stdio), zod para
validação de input. Cliente HTTP próprio com fetch nativo (Node 20+).
