iron-edge 2.4.6 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/agents/iron-paidmedia.md +3 -1
- package/agents/xq-traffic.md +3 -1
- package/installer/office.js +16 -1
- package/package.json +1 -1
- package/skills/conectar-mcp/SKILL.md +12 -1
package/README.md
CHANGED
|
@@ -234,15 +234,16 @@ Converse com o Iron pelo dashboard ([iron-office.vercel.app](https://iron-office
|
|
|
234
234
|
npx iron-edge office
|
|
235
235
|
```
|
|
236
236
|
|
|
237
|
-
Antes, faça o **passo
|
|
237
|
+
Antes, faça o **passo 2** do onboarding do Iron Office (ele salva a sua chave em `~/.claude/iron-office-api-key`).
|
|
238
238
|
|
|
239
239
|
O que esperar:
|
|
240
240
|
|
|
241
|
-
1. O comando confere a sua chave (formato `iok_…` e aceita pelo site) **antes** de abrir o Claude Code. Chave trocada ou fora do formato: ele para e manda refazer o passo
|
|
242
|
-
2. Instala (ou atualiza) o plugin de canal `iron-office` e abre o Claude Code com
|
|
241
|
+
1. O comando confere a sua chave (formato `iok_…` e aceita pelo site) **antes** de abrir o Claude Code. Chave trocada ou fora do formato: ele para e manda refazer o passo 2, em vez de abrir uma sessão que nunca fica online.
|
|
242
|
+
2. Instala (ou atualiza) o plugin de canal `iron-office` e liga o conector oficial do **Meta Ads** (`claude mcp add --scope user --transport http meta-ads https://mcp.facebook.com/ads`; desde a 2.5.0, melhor-esforço: se falhar, o Iron abre normal). O login na Meta é seu: no Iron, digite `/mcp`, escolha `meta-ads` e entre com o seu Facebook. Depois abre o Claude Code com o canal ligado.
|
|
243
243
|
3. O Claude Code mostra um **aviso de tela cheia**: canais ainda são recurso em teste. Aceite.
|
|
244
244
|
4. Abra a página **Iron** do dashboard. Em até 1 minuto aparece "Iron online". Escreva ali e o Iron responde ali.
|
|
245
245
|
5. **Deixe essa aba do terminal aberta.** É ela que faz o Iron responder no site.
|
|
246
|
+
6. **Pra fechar:** Ctrl+C duas vezes ou `/exit`, e o escritório anoitece em 1 a 2 segundos. No **Warp**, fechar a aba pelo X demora cerca de 1 minuto: o Warp guarda a aba fechada pra poder reabrir, e nesse tempo o canal ainda está vivo. Feche com Ctrl+C antes do X, ou desligue a reabertura de abas fechadas nas configurações do Warp.
|
|
246
247
|
|
|
247
248
|
Por padrão a sessão do `office` roda **sem pedir licença** a cada ferramenta (é o que deixa o Iron trabalhar enquanto você está só no site). `npx iron-edge office --safe` abre pedindo licença a cada ferramenta. Qualquer outro argumento vai direto pro `claude`.
|
|
248
249
|
|
|
@@ -271,7 +272,7 @@ Seus dados ficam locais em `~/.iron/`. Sobre o que sai da sua máquina, com prec
|
|
|
271
272
|
|
|
272
273
|
- **Para o Iron Office** (`iron-office.vercel.app`, servidor deste projeto), e só se você criar a chave em `~/.claude/iron-office-api-key`:
|
|
273
274
|
- **0 agentes** leem a chave. Só o plugin `iron-office` fala com o site, e a loja Shopify é consultada pelas ferramentas `shop_status`/`shop_query` dele (desde a 2.4.4; o `iron-auditor` devolve o relatório pra quem chamou desde a 2.4.2). Confira: `grep -rln "iron-office-api-key" ~/.claude/agents/`;
|
|
274
|
-
- **se você rodou `npx iron-edge office`**, o plugin `iron-office` fica instalado e manda pro seu painel (feed e mapa 3D) a atividade **só da sessão aberta pelo `npx iron-edge office`** (desde o plugin 0.3.1; um `claude` aberto em outra pasta não manda nada), e as entregas que o Iron salvar ali pela ferramenta `deliver`. Da atividade vai: nome da ferramenta, caminho do arquivo (nunca o conteúdo), os primeiros 200 caracteres de cada comando de terminal e a descrição dele, buscas, o domínio dos endereços visitados, nome e descrição dos agentes, a pasta e o identificador da sessão. A resposta das ferramentas nunca sai. Padrões conhecidos de segredo nesses campos (chaves de Stripe, Shopify, Meta, GitHub, OpenAI, Supabase e AWS, `Bearer`, `ALGO_KEY=`, `--password`, `-u usuario:senha`…) são apagados antes do envio; é uma lista de padrões, não garantia. Lista completa no README do plugin (github.com/filipecoff21-code/iron-office-channel). Desligar: `claude plugin disable iron-office@iron-office-channel`. Conferir se está ligado: `claude plugin list`.
|
|
275
|
+
- **se você rodou `npx iron-edge office`**, o plugin `iron-office` fica instalado e manda pro seu painel (feed e mapa 3D) a atividade **só da sessão aberta pelo `npx iron-edge office`** (desde o plugin 0.3.1; um `claude` aberto em outra pasta não manda nada), e as entregas que o Iron salvar ali pela ferramenta `deliver`. A cada 30 s a presença leva também os **nomes** dos servidores MCP configurados (ex.: `meta-ads`), nunca os valores nem tokens (desde o plugin 0.4.0): é assim que o cartão Meta Ads do site sabe que o conector está instalado. Da atividade vai: nome da ferramenta, caminho do arquivo (nunca o conteúdo), os primeiros 200 caracteres de cada comando de terminal e a descrição dele, buscas, o domínio dos endereços visitados, nome e descrição dos agentes, a pasta e o identificador da sessão. A resposta das ferramentas nunca sai. Padrões conhecidos de segredo nesses campos (chaves de Stripe, Shopify, Meta, GitHub, OpenAI, Supabase e AWS, `Bearer`, `ALGO_KEY=`, `--password`, `-u usuario:senha`…) são apagados antes do envio; é uma lista de padrões, não garantia. Lista completa no README do plugin (github.com/filipecoff21-code/iron-office-channel). Desligar: `claude plugin disable iron-office@iron-office-channel`. Conferir se está ligado: `claude plugin list`.
|
|
275
276
|
- **Para a internet aberta**, através das ferramentas do próprio Claude Code (`WebSearch` / `WebFetch`), vão as buscas de **41 dos 44 agentes** — é como o `iron-research` pesquisa mercado e o `iron-spy` lê a biblioteca de anúncios. Isso passa pelo Claude Code, com a visibilidade e a aprovação que ele te dá; não é canal deste pacote. Confira: `grep -rln "WebSearch\|WebFetch" ~/.claude/agents/`.
|
|
276
277
|
- **A skill `clone-site`** baixa a URL que você mandar clonar. É o trabalho dela.
|
|
277
278
|
|
package/agents/iron-paidmedia.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: iron-paidmedia
|
|
3
3
|
description: "Tráfego pago: anúncio, campanha, Meta Ads, Google Ads, verba e ROAS. Use quando o usuário disser: 'sobe um anúncio', 'a campanha parou de converter', 'quanto de verba', 'troca o criativo', 'o tráfego caiu'. Não use para: espionar anúncio de concorrente (iron-spy), funil e conversão fora da mídia (iron-growth)."
|
|
4
|
-
tools: [Read, Grep, Glob, Write, Edit, Bash, WebSearch, WebFetch]
|
|
4
|
+
tools: [Read, Grep, Glob, Write, Edit, Bash, WebSearch, WebFetch, mcp__meta-ads__ads_account_get_activity_logs, mcp__meta-ads__ads_activate_entity, mcp__meta-ads__ads_boost_ig_post, mcp__meta-ads__ads_catalog_create, mcp__meta-ads__ads_catalog_create_feed_rule, mcp__meta-ads__ads_catalog_create_product_feed, mcp__meta-ads__ads_catalog_create_product_feed_upload_session, mcp__meta-ads__ads_catalog_create_product_set, mcp__meta-ads__ads_catalog_delete_product, mcp__meta-ads__ads_catalog_event_source_connect, mcp__meta-ads__ads_catalog_event_source_disconnect, mcp__meta-ads__ads_catalog_event_source_get, mcp__meta-ads__ads_catalog_event_source_get_catalogs, mcp__meta-ads__ads_catalog_event_source_get_health, mcp__meta-ads__ads_catalog_event_source_get_recommendations, mcp__meta-ads__ads_catalog_get_businesses, mcp__meta-ads__ads_catalog_get_data_sources, mcp__meta-ads__ads_catalog_get_diagnostics, mcp__meta-ads__ads_catalog_get_dynamic_ads_health, mcp__meta-ads__ads_catalog_get_feed_rules, mcp__meta-ads__ads_catalog_get_product_feed_upload_sessions, mcp__meta-ads__ads_catalog_get_suggested_filter, mcp__meta-ads__ads_catalog_list_catalogs, mcp__meta-ads__ads_catalog_list_dpa_eligible_catalogs, mcp__meta-ads__ads_catalog_list_partner_integrations, mcp__meta-ads__ads_catalog_list_product_feeds, mcp__meta-ads__ads_catalog_list_product_sets, mcp__meta-ads__ads_catalog_list_products, mcp__meta-ads__ads_catalog_product_create, mcp__meta-ads__ads_catalog_product_feed_delete, mcp__meta-ads__ads_catalog_product_feed_delete_rule, mcp__meta-ads__ads_catalog_product_set_delete, mcp__meta-ads__ads_catalog_update_catalog, mcp__meta-ads__ads_catalog_update_product, mcp__meta-ads__ads_catalog_update_product_feed, mcp__meta-ads__ads_catalog_update_product_set, mcp__meta-ads__ads_create_ad, mcp__meta-ads__ads_create_ad_set, mcp__meta-ads__ads_create_campaign, mcp__meta-ads__ads_create_creative, mcp__meta-ads__ads_create_custom_audience, mcp__meta-ads__ads_creative_delete, mcp__meta-ads__ads_creative_update, mcp__meta-ads__ads_creative_upload_local_image, mcp__meta-ads__ads_creative_upload_media, mcp__meta-ads__ads_delete_custom_audience, mcp__meta-ads__ads_delete_local_ad_image, mcp__meta-ads__ads_experiment_abtest_create_test, mcp__meta-ads__ads_experiment_abtest_get_test, mcp__meta-ads__ads_experiment_abtest_update_test, mcp__meta-ads__ads_experiment_check_eligibility, mcp__meta-ads__ads_experiment_lift_create_test, mcp__meta-ads__ads_experiment_lift_get_test, mcp__meta-ads__ads_experiment_list_tests, mcp__meta-ads__ads_finalize_local_ad_image_upload, mcp__meta-ads__ads_get_ad_account_custom_audiences, mcp__meta-ads__ads_get_ad_account_pages, mcp__meta-ads__ads_get_ad_accounts, mcp__meta-ads__ads_get_ad_entities, mcp__meta-ads__ads_get_ad_images, mcp__meta-ads__ads_get_ad_preview, mcp__meta-ads__ads_get_ad_preview_screenshot, mcp__meta-ads__ads_get_ad_videos, mcp__meta-ads__ads_get_creative_ads, mcp__meta-ads__ads_get_creatives, mcp__meta-ads__ads_get_custom_audience, mcp__meta-ads__ads_get_custom_audience_adsets, mcp__meta-ads__ads_get_customconversions, mcp__meta-ads__ads_get_dataset_details, mcp__meta-ads__ads_get_dataset_quality, mcp__meta-ads__ads_get_dataset_stats, mcp__meta-ads__ads_get_datasets, mcp__meta-ads__ads_get_errors, mcp__meta-ads__ads_get_field_context, mcp__meta-ads__ads_get_help_article, mcp__meta-ads__ads_get_ig_accounts, mcp__meta-ads__ads_get_ig_media, mcp__meta-ads__ads_get_opportunity_score, mcp__meta-ads__ads_get_pages_for_business, mcp__meta-ads__ads_get_user_pages, mcp__meta-ads__ads_insights_advertiser_context, mcp__meta-ads__ads_insights_anomaly_signal, mcp__meta-ads__ads_insights_auction_ranking_benchmarks, mcp__meta-ads__ads_insights_industry_benchmark, mcp__meta-ads__ads_insights_performance_trend, mcp__meta-ads__ads_library_search, mcp__meta-ads__ads_log_ui_interaction, mcp__meta-ads__ads_pixel_event_create, mcp__meta-ads__ads_pixel_event_delete, mcp__meta-ads__ads_pixel_event_read, mcp__meta-ads__ads_pixel_event_update, mcp__meta-ads__ads_pixel_parameter_create, mcp__meta-ads__ads_pixel_parameter_delete, mcp__meta-ads__ads_pixel_parameter_read, mcp__meta-ads__ads_pixel_parameter_update, mcp__meta-ads__ads_update_custom_audience, mcp__meta-ads__ads_update_custom_audience_users, mcp__meta-ads__ads_update_entity]
|
|
5
5
|
model: sonnet
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -22,4 +22,6 @@ Você é o agente de topo do squad de tráfego pago do Iron Edge. Há dois jeito
|
|
|
22
22
|
|
|
23
23
|
**Caminho no Windows:** `~/.iron/` é `C:/Users/<voce>/.iron/` (barra normal). Se um arquivo não abrir, diga ao usuário qual caminho tentou; não invente o conteúdo.
|
|
24
24
|
|
|
25
|
+
**Ferramentas da Meta:** `mcp__meta-ads__*` (conector oficial da Meta, com o login do próprio aluno). Se não existirem na sessão, ou se responderem que falta login, não invente dado: mande o aluno conectar em Iron Office → Integrações → Meta Ads (ou digitar `/mcp` no Iron e entrar com o Facebook). Só leitura (listar, consultar, medir) é livre. Qualquer ferramenta que muda algo na Meta (criar, ativar, pausar, editar, mudar verba, apagar ou desconectar campanha, anúncio, criativo, público, pixel ou catálogo) só roda depois de você mostrar o que vai mudar e o aluno responder "pode": o login é dele e o dinheiro também. Apagar não tem volta: diga isso antes.
|
|
26
|
+
|
|
25
27
|
O caminho principal de entrada continua sendo a palavra `iron` na conversa: o `iron-ceo` decide se o pedido é seu e te aciona com o pedido já formulado.
|
package/agents/xq-traffic.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: xq-traffic
|
|
3
3
|
description: "Conselho profundo de tráfego com os métodos publicados (Kasim, Sobral, Pittman, Breeze). Use quando o usuário disser: 'tráfego no nível dos mestres', 'diagnostica a conta inteira', 'vai fundo na campanha', ou quando o iron-paidmedia não bastou. Mais lento e mais caro que o iron-paidmedia."
|
|
4
4
|
model: sonnet
|
|
5
|
-
tools: [Read, Write, Edit, Bash, WebSearch, WebFetch, Glob, Grep]
|
|
5
|
+
tools: [Read, Write, Edit, Bash, WebSearch, WebFetch, Glob, Grep, mcp__meta-ads__ads_account_get_activity_logs, mcp__meta-ads__ads_activate_entity, mcp__meta-ads__ads_boost_ig_post, mcp__meta-ads__ads_catalog_create, mcp__meta-ads__ads_catalog_create_feed_rule, mcp__meta-ads__ads_catalog_create_product_feed, mcp__meta-ads__ads_catalog_create_product_feed_upload_session, mcp__meta-ads__ads_catalog_create_product_set, mcp__meta-ads__ads_catalog_delete_product, mcp__meta-ads__ads_catalog_event_source_connect, mcp__meta-ads__ads_catalog_event_source_disconnect, mcp__meta-ads__ads_catalog_event_source_get, mcp__meta-ads__ads_catalog_event_source_get_catalogs, mcp__meta-ads__ads_catalog_event_source_get_health, mcp__meta-ads__ads_catalog_event_source_get_recommendations, mcp__meta-ads__ads_catalog_get_businesses, mcp__meta-ads__ads_catalog_get_data_sources, mcp__meta-ads__ads_catalog_get_diagnostics, mcp__meta-ads__ads_catalog_get_dynamic_ads_health, mcp__meta-ads__ads_catalog_get_feed_rules, mcp__meta-ads__ads_catalog_get_product_feed_upload_sessions, mcp__meta-ads__ads_catalog_get_suggested_filter, mcp__meta-ads__ads_catalog_list_catalogs, mcp__meta-ads__ads_catalog_list_dpa_eligible_catalogs, mcp__meta-ads__ads_catalog_list_partner_integrations, mcp__meta-ads__ads_catalog_list_product_feeds, mcp__meta-ads__ads_catalog_list_product_sets, mcp__meta-ads__ads_catalog_list_products, mcp__meta-ads__ads_catalog_product_create, mcp__meta-ads__ads_catalog_product_feed_delete, mcp__meta-ads__ads_catalog_product_feed_delete_rule, mcp__meta-ads__ads_catalog_product_set_delete, mcp__meta-ads__ads_catalog_update_catalog, mcp__meta-ads__ads_catalog_update_product, mcp__meta-ads__ads_catalog_update_product_feed, mcp__meta-ads__ads_catalog_update_product_set, mcp__meta-ads__ads_create_ad, mcp__meta-ads__ads_create_ad_set, mcp__meta-ads__ads_create_campaign, mcp__meta-ads__ads_create_creative, mcp__meta-ads__ads_create_custom_audience, mcp__meta-ads__ads_creative_delete, mcp__meta-ads__ads_creative_update, mcp__meta-ads__ads_creative_upload_local_image, mcp__meta-ads__ads_creative_upload_media, mcp__meta-ads__ads_delete_custom_audience, mcp__meta-ads__ads_delete_local_ad_image, mcp__meta-ads__ads_experiment_abtest_create_test, mcp__meta-ads__ads_experiment_abtest_get_test, mcp__meta-ads__ads_experiment_abtest_update_test, mcp__meta-ads__ads_experiment_check_eligibility, mcp__meta-ads__ads_experiment_lift_create_test, mcp__meta-ads__ads_experiment_lift_get_test, mcp__meta-ads__ads_experiment_list_tests, mcp__meta-ads__ads_finalize_local_ad_image_upload, mcp__meta-ads__ads_get_ad_account_custom_audiences, mcp__meta-ads__ads_get_ad_account_pages, mcp__meta-ads__ads_get_ad_accounts, mcp__meta-ads__ads_get_ad_entities, mcp__meta-ads__ads_get_ad_images, mcp__meta-ads__ads_get_ad_preview, mcp__meta-ads__ads_get_ad_preview_screenshot, mcp__meta-ads__ads_get_ad_videos, mcp__meta-ads__ads_get_creative_ads, mcp__meta-ads__ads_get_creatives, mcp__meta-ads__ads_get_custom_audience, mcp__meta-ads__ads_get_custom_audience_adsets, mcp__meta-ads__ads_get_customconversions, mcp__meta-ads__ads_get_dataset_details, mcp__meta-ads__ads_get_dataset_quality, mcp__meta-ads__ads_get_dataset_stats, mcp__meta-ads__ads_get_datasets, mcp__meta-ads__ads_get_errors, mcp__meta-ads__ads_get_field_context, mcp__meta-ads__ads_get_help_article, mcp__meta-ads__ads_get_ig_accounts, mcp__meta-ads__ads_get_ig_media, mcp__meta-ads__ads_get_opportunity_score, mcp__meta-ads__ads_get_pages_for_business, mcp__meta-ads__ads_get_user_pages, mcp__meta-ads__ads_insights_advertiser_context, mcp__meta-ads__ads_insights_anomaly_signal, mcp__meta-ads__ads_insights_auction_ranking_benchmarks, mcp__meta-ads__ads_insights_industry_benchmark, mcp__meta-ads__ads_insights_performance_trend, mcp__meta-ads__ads_library_search, mcp__meta-ads__ads_log_ui_interaction, mcp__meta-ads__ads_pixel_event_create, mcp__meta-ads__ads_pixel_event_delete, mcp__meta-ads__ads_pixel_event_read, mcp__meta-ads__ads_pixel_event_update, mcp__meta-ads__ads_pixel_parameter_create, mcp__meta-ads__ads_pixel_parameter_delete, mcp__meta-ads__ads_pixel_parameter_read, mcp__meta-ads__ads_pixel_parameter_update, mcp__meta-ads__ads_update_custom_audience, mcp__meta-ads__ads_update_custom_audience_users, mcp__meta-ads__ads_update_entity]
|
|
6
6
|
known_non_agents: [traffic-chief]
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -20,6 +20,8 @@ known_non_agents: [traffic-chief]
|
|
|
20
20
|
|
|
21
21
|
**Na conversa principal** (o usuário te chamou pelo nome, sem pedido): apresente-se em três linhas e pergunte qual é o pedido. Só aqui você espera.
|
|
22
22
|
|
|
23
|
+
**Ferramentas da Meta:** `mcp__meta-ads__*` (conector oficial da Meta, com o login do próprio aluno). Se não existirem na sessão, ou se responderem que falta login, não invente dado: mande o aluno conectar em Iron Office → Integrações → Meta Ads (ou digitar `/mcp` no Iron e entrar com o Facebook). Só leitura (listar, consultar, medir) é livre. Qualquer ferramenta que muda algo na Meta (criar, ativar, pausar, editar, mudar verba, apagar ou desconectar campanha, anúncio, criativo, público, pixel ou catálogo) só roda depois de você mostrar o que vai mudar e o aluno responder "pode": o login é dele e o dinheiro também. Apagar não tem volta: diga isso antes.
|
|
24
|
+
|
|
23
25
|
Este é o caminho PROFUNDO: é mais lento e mais caro que o agente `iron-*` equivalente. Se o pedido for simples, diga isso e sugira o `iron-*`.
|
|
24
26
|
|
|
25
27
|
# Traffic Chief
|
package/installer/office.js
CHANGED
|
@@ -129,6 +129,19 @@ function step(claude, label, args, okPatterns) {
|
|
|
129
129
|
return false;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
// Meta Ads pelo MCP oficial da Meta (2.5.0): melhor-esforco, ja configurado conta como ok. Nao autentica:
|
|
133
|
+
// o login e' do aluno, no /mcp do Iron, com a conta dele. Escopo usuario: vale em qualquer pasta onde o
|
|
134
|
+
// Iron abrir (sem --scope, o claude grava so na pasta atual e o Iron aberto em outra nao enxerga).
|
|
135
|
+
const META_ADS_MCP = ['mcp', 'add', '--scope', 'user', '--transport', 'http', 'meta-ads', 'https://mcp.facebook.com/ads'];
|
|
136
|
+
function metaAds(claude) {
|
|
137
|
+
if (step(claude, 'Meta Ads (conector oficial)', META_ADS_MCP, [/already|exists/i])) {
|
|
138
|
+
console.log(' [ok] Meta Ads: pra entrar, digite /mcp no Iron e escolha meta-ads');
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
console.log(' [aviso] Meta Ads nao foi ligado agora; o Iron abre normal. Da pra ligar depois em Integracoes.');
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
|
|
132
145
|
async function main(argv) {
|
|
133
146
|
const key = readKey();
|
|
134
147
|
if (!key) {
|
|
@@ -169,6 +182,7 @@ async function main(argv) {
|
|
|
169
182
|
}
|
|
170
183
|
// atualizar e' melhor-esforco: sem internet no meio, segue com a versao ja instalada
|
|
171
184
|
step(claude, 'atualizacao do plugin', ['plugin', 'update', PLUGIN], [/already|up.to.date|latest/i]);
|
|
185
|
+
metaAds(claude);
|
|
172
186
|
avisoPluginNovo(claude);
|
|
173
187
|
|
|
174
188
|
const safe = argv.includes('--safe');
|
|
@@ -180,6 +194,7 @@ async function main(argv) {
|
|
|
180
194
|
console.log('enquanto voce esta no site). Quer aprovar cada passo? Rode: npx iron-edge office --safe');
|
|
181
195
|
}
|
|
182
196
|
console.log('Deixe esta aba aberta: e ela que faz o Iron responder no site.');
|
|
197
|
+
console.log('Pra fechar: Ctrl+C duas vezes (no Warp, antes do X).');
|
|
183
198
|
console.log('');
|
|
184
199
|
|
|
185
200
|
const r = spawnSync(claude, buildClaudeArgs(argv), {
|
|
@@ -190,7 +205,7 @@ async function main(argv) {
|
|
|
190
205
|
return r.status ?? 1;
|
|
191
206
|
}
|
|
192
207
|
|
|
193
|
-
module.exports = { avisoPluginNovo, pluginVersion, buildClaudeArgs, keyPath, readKey, keyFileExists, isValidKey, ping, resolveClaude, CHANNEL, PLUGIN, MARKETPLACE_REPO, KEY_RE };
|
|
208
|
+
module.exports = { metaAds, META_ADS_MCP, avisoPluginNovo, pluginVersion, buildClaudeArgs, keyPath, readKey, keyFileExists, isValidKey, ping, resolveClaude, CHANNEL, PLUGIN, MARKETPLACE_REPO, KEY_RE };
|
|
194
209
|
|
|
195
210
|
if (require.main === module) {
|
|
196
211
|
main(process.argv.slice(2)).then(code => process.exit(code), err => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iron-edge",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "Ecossistema de agentes para Claude Code: 44 agentes de topo, 18 squads e 14 skills, com quality gate, memoria, instalador que nunca sobrescreve o comando office (chat do Iron Office no dashboard; confere a chave com o site antes de abrir o Claude) e o doctor (mede a maquina e acende o Setup do site).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
@@ -28,7 +28,18 @@ MCP é a ponte entre o Claude Code e um serviço de fora (a sua loja Shopify, o
|
|
|
28
28
|
|
|
29
29
|
- **iron-shopify** (nas edições que o incluem — confira no seu routing map) → precisa do MCP de desenvolvimento da Shopify (pacote npm oficial `@shopify/dev-mcp`): `claude mcp add shopify-dev-mcp -- npx -y @shopify/dev-mcp@latest`. A autenticação da LOJA em si é separada (Shopify CLI, o agente conduz).
|
|
30
30
|
- **iron-spy** → não usa MCP: usa a API da Apify direto por script; o próprio agente conduz a criação da conta e da chave.
|
|
31
|
-
- **Supabase, Higgsfield, ElevenLabs
|
|
31
|
+
- **Supabase, Higgsfield, ElevenLabs** e outros → cada um publica seu comando oficial; siga o passo 1 (buscar a doc atual) em vez de confiar em comando decorado, porque endpoints mudam.
|
|
32
|
+
|
|
33
|
+
## Meta Ads (oficial)
|
|
34
|
+
|
|
35
|
+
A Meta publica um conector MCP hospedado por ela mesma. Não precisa criar app na Meta nem colar token.
|
|
36
|
+
|
|
37
|
+
1. No Terminal: `claude mcp add --scope user --transport http meta-ads https://mcp.facebook.com/ads` (o `npx iron-edge office` já roda isso por você). O `--scope user` faz valer em qualquer pasta; sem ele, o conector só existe na pasta onde o comando rodou.
|
|
38
|
+
2. Feche o Iron que estiver aberto (Ctrl+C duas vezes) e abra de novo; sessão aberta antes do comando não enxerga o conector. Digite `/mcp`, escolha `meta-ads` e entre com o seu Facebook (login do Facebook para empresas).
|
|
39
|
+
3. Aprove as permissões de anúncios que a Meta pedir (gerenciar e ler anúncios). Sem elas o Iron não enxerga as contas.
|
|
40
|
+
4. Sessão nova e prova real: peça "quais contas de anúncio eu tenho acesso?" e confira a lista.
|
|
41
|
+
|
|
42
|
+
Sua conta, seu login, nada vai pro Iron Office. O login fica no seu computador; o Iron Office só vê que o conector está instalado (o nome `meta-ads`); se o login foi feito, quem prova é a lista de contas no passo 4. Pra sair: `claude mcp remove --scope user meta-ads` e remova o acesso nas configurações de negócios do Facebook.
|
|
32
43
|
|
|
33
44
|
## Se der errado
|
|
34
45
|
|