Integrações
Conectar o PromptFlowEngine
O mesmo motor roda em todas as integrações. Escolha conforme onde estão os seus prompts: em um navegador ou editor (as extensões), dentro de um assistente ou agente de IA (MCP) ou no seu próprio código (API HTTP). Nenhuma chama um modelo de linguagem, e nenhuma precisa de conta ou chave de API.
| Opção | Ideal para | Onde roda | Configuração |
|---|---|---|---|
| Extensão do Chrome | Verificar prompts no ChatGPT, Claude, Gemini, Grok, Perplexity e DeepSeek | No seu navegador | Compilar a partir do repositório e carregar sem compactação (ainda não está na Chrome Web Store) |
| Extensão do VS Code | Do código ao prompt, com proteção de privacidade antes do chat de IA | No VS Code | Instalar a extensão |
| Servidor MCP | Deixar o modo agente do Copilot, Claude, Cursor, Windsurf, Gemini CLI ou o seu agente chamar o motor como ferramentas | Processo local, stdio | Compilar uma vez e adicionar à configuração do seu cliente |
| API HTTP | Sua aplicação, script ou backend | promptflowengine.com/api/v1 ou o seu próprio Worker | Nada: envie JSON |
Opção 1: servidor MCP
O PromptFlowEngine inclui um servidor MCP (v2.1.0); sua ferramenta de IA é o cliente. O transporte é somente stdio: o cliente inicia node packages/mcp-server/dist/bin.js na sua máquina. Não há endpoint MCP hospedado nem autenticação, porque só um processo que você inicia pode falar com ele.
Pré-requisitos
- Node.js 22 ou posterior (Windows, macOS ou Linux) com Corepack.
- Uma cópia do repositório do PromptFlowEngine (a publicação no npm está pendente). Compile-a uma vez:
corepack pnpm install --frozen-lockfile
corepack pnpm --filter @promptflow/engine build
corepack pnpm --filter @promptflow/mcp-server buildSubstitua <ABSOLUTE_PATH_TO_CHECKOUT> abaixo pelo caminho da sua cópia. No Windows, use barras normais no JSON (C:/src/Prompt/…).
Configure seu cliente
{
"servers": {
"promptflow": {
"type": "stdio",
"command": "node",
"args": [
"<ABSOLUTE_PATH_TO_CHECKOUT>/packages/mcp-server/dist/bin.js"
]
}
}
}{
"mcpServers": {
"promptflow": {
"command": "node",
"args": [
"<ABSOLUTE_PATH_TO_CHECKOUT>/packages/mcp-server/dist/bin.js"
]
}
}
}claude mcp add promptflow -- node <ABSOLUTE_PATH_TO_CHECKOUT>/packages/mcp-server/dist/bin.js
claude mcp listOs locais dos arquivos seguem a documentação de cada cliente; se um cliente os mudar, a documentação dele prevalece. O servidor não precisa de segredos, então nunca adicione credenciais a esses arquivos.
Verificar
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"check","version":"1"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
| node packages/mcp-server/dist/bin.jsOu rode o exemplo em TypeScript, que inicia o servidor, lista suas ferramentas e avalia e reestrutura um prompt: node --experimental-strip-types packages/mcp-server/examples/mcp-client.ts. No seu cliente, peça “List the promptflow tools”.
Ferramentas (19)
| Ferramenta | Obrigatórios | O que faz |
|---|---|---|
optimize_prompt | prompt | Optimize prompt |
optimize_prompt_pipeline | prompt | Optimize prompt (staged pipeline) |
compress_prompt | prompt | Compress prompt |
validate_prompt | prompt | Validate prompt |
estimate_tokens | prompt | Estimate tokens |
analyze_prompt | prompt | Analyze prompt |
extract_entities | prompt | Extract entities |
summarize_context | context | Summarize context |
score_prompt | prompt | Score prompt |
evaluate_prompt | prompt | Evaluate prompt |
compare_prompts | a, b | Compare prompts |
scan_prompt_security | prompt | Scan prompt security |
scan_sensitive_data | text | Scan sensitive data |
sanitize_prompt | text | Sanitize prompt |
restructure_prompt | prompt | Restructure prompt |
convert_structured_payload | json | Convert JSON to TOON |
simulate_cost | prompt | Simulate cost |
analyze_context_budget | sources | Analyze context budget |
run_prompt_tests | prompt, cases | Run prompt tests |
Argumentos, resultados e casos de erro de cada ferramenta: referência do MCP. Exemplo de pedido em um chat com um agente:
Use promptflow to restructure this, then scan it for secrets:
"fix login issue and make google login work and don't break anything"Solução de problemas
- O servidor aparece como falho: o caminho está errado ou
dist/não foi compilado. Compile de novo e use o caminho absoluto. nodenão encontrado: o cliente não tem o Node.js no PATH. Coloque o caminho absoluto denodeemcommand.Invalid arguments: a mensagem nomeia o campo. Entrada longa: definaPROMPTFLOW_MCP_MAX_PROMPT_CHARSnoenvdo cliente.- Precisa de logs: defina
PROMPTFLOW_MCP_LOG=debug; eles vão para o stderr e nunca contêm texto de prompt.
Opção 2: API HTTP
URL base https://promptflowengine.com/api/v1. JSON na entrada, JSON na saída, sem autenticação, nada armazenado, 60 requisições POST por minuto por IP. Não envie prompts com segredos a nenhum serviço remoto; oculte-os antes com POST /sanitize, a CLI ou as extensões.
curl -s https://promptflowengine.com/api/v1/healthcurl -s https://promptflowengine.com/api/v1/analyze \
-H 'content-type: application/json' \
-d '{"prompt":"Write something about our product and stuff. Keep it short but also be detailed."}' \
| jq '{quality: .quality.overall, findings: [.findings[] | {severity, message}]}'curl -s https://promptflowengine.com/api/v1/optimize \
-H 'content-type: application/json' \
-d '{"prompt":"Please summarize the notes. Please summarize the notes.","mode":"balanced"}' \
| jq '{text: .selected.text, tokenDelta, changes: [.changes[].title]}'import { createClient, PromptFlowApiError } from './api-client';
const api = createClient({ baseUrl: process.env.PROMPTFLOW_API ?? 'https://promptflowengine.com' });
try {
const analysis = await api.analyze(userPrompt);
const critical = analysis.findings.filter((f) => f.severity === 'critical');
const { selected, tokenDelta } = await api.optimize(userPrompt, 'balanced');
console.log(critical.length, selected.text, tokenDelta);
} catch (err) {
// Typed errors carry status, type, message, and the request id for support.
if (err instanceof PromptFlowApiError) console.error(err.status, err.type, err.message, err.requestId);
else throw err;
}Todos os endpoints, campos e códigos de status: referência da API HTTP.
Rodar localmente
corepack pnpm --filter @promptflow/web build
cd apps/web && corepack pnpm exec wrangler dev --local --env="" --port 8787
curl -s http://localhost:8787/api/v1/healthSolução de problemas
- 400: envie
content-type: application/json; a mensagem nomeia o campo. - 404 “Unknown API version”: use o prefixo
/api/v1/. - 405:
health,modelserulessão GET; o resto é POST. - 413: o corpo passa de 256 KB ou um campo passa de 100.000 caracteres.
- 429: aguarde o
retry-after(60 segundos) ou rode o motor localmente com a CLI.