2016judea/mcp-stack

Guia prático sobre qual servidor ou framework MCP gratuito usar para cada tarefa, incluindo dados financeiros/governamentais (SEC EDGAR, Yahoo, SAM.gov, USAspending), pesquisa web (Exa, Firecrawl, Crawl4AI, Jina reader), design/arte/marca (Canva, Inkscape, Penpot, Figma, Orshot, Hugging Face geração de imagens, vetorização, gráficos), dados/espaciais (DuckDB espacial, camadas ArcGIS ao vivo, OpenStreetMap/Overpass, Census, MapLibre) e operações (PostHog, iMessage, context7 docs). Use ao criar uma postagem social, cartão OG, pôster, logotipo/vetor, gráfico, mapa ou ativo de marca; ao consultar parquet/geojson/duckdb ou uma camada de dados abertos de uma cidade; quando um MCP "precisar de autenticação" ou falhar; ou quando perguntarem "quais ferramentas temos", "existe um MCP para X", "devemos adicionar X".

O que é mcp-stack?

Esta skill é um guia de referência rápida sobre quais servidores e frameworks MCP gratuitos utilizar para diferentes tarefas de design, dados, pesquisa web e operações, baseado em testes práticos. Ela prioriza o uso exclusivo de tiers gratuitos, evitando upgrades ou cadastros com cartão de crédito. Para design, recomenda Canva para peças visuais de alta qualidade (com limite de ~6 designs/mês), Inkscape para pôsteres e cartões ilimitados e com efeitos reais de risografia, Penpot e Figma para layouts vetoriais precisos, Orshot para templates reutilizáveis, e Hugging Face para ilustrações e remoção de fundo. Para dados espaciais e SQL, indica DuckDB com extensão espacial como solução central, destacando armadilhas como truncamento silencioso em camadas ArcGIS e necessidade de paginação com resultOffset. Em pesquisa web, sugere Exa para pesquisas rápidas de pessoas/empresas, Firecrawl para scraping renderizado, e Crawl4AI para crawling ilimitado. Para dados financeiros e governamentais, orienta o uso de sec-edgar (através de XBRL por arquivamento, evitando defasagens do companyfacts) e USAspending (com filtro por local do beneficiário). A skill também cobre frameworks como Claude Agent SDK para agentes agendados, promptfoo para avaliações, Observable Framework para sites estáticos, e scripts uv para pipelines pequenos. Para operações, recomenda PostHog para análises de produto, iMessage para leitura de mensagens no Mac e context7 para documentação de bibliotecas. Inclui dicas importantes sobre estado de autenticação (OAuth), como testar novos MCPs com o inspector, e regras para não adicionar MCPs de email com ferramentas de envio. A abordagem é prática: prioriza ferramentas que funcionam com tiers gratuitos, alerta sobre armadilhas conhecidas e sugere alternativas quando um serviço falha. A lista foi construída a partir de uma competição onde cada servidor foi executado nas mesmas tarefas reais, garantindo relevância prática.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/2016judea/brick-mortar-skills/tree/HEAD/skills/mcp-stack

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

A pilha MCP

Um guia de campo de uma competição onde cada servidor foi executado nas mesmas tarefas reais (uma postagem social 1080x1350 em estilo riso; perguntas espaciais reais verificadas por uma consulta independente). Apenas tiers gratuitos.

Regra: apenas gratuito. Nunca faça upgrade, inicie um teste gratuito ou insira um cartão em nenhum desses sem que o proprietário autorize. Uma barreira de pagamento é uma descoberta, não uma compra.

Regra: nada publica. Orshot tem um parâmetro publish que publica em redes sociais; Canva e Figma podem compartilhar. Nunca os use sem permissão. A saída é um arquivo local que um humano revisa.

Design / arte / marca — escolha pela tarefa

TarefaUsePor que / custo
Peça de marketing finalizada a partir de um briefing, com melhor aparênciacanva create-design -> resize-design -> export-designMelhor resultado visual do conjunto. ~6 designs de IA/mês gratuitos (um design = ~15% da cota; reinicia mensalmente). Edite com edit-design em vez de regenerar.
Postagem / cartão / pôster riso, ilimitado, números exatosinkscape MCP inkscape_vector construct_svg (params.header + params.body) -> inkscape_render export_previewRenderiza padrões de meio-tom reais, granulação feTurbulence, sobreposição multiply, desalinhamento. ~5s, headless, ilimitado. Padrão para tudo que for repetível; mantenha seu corpo SVG como arquivo de modelo.
Layout vetorial preciso em um arquivo de designpenpot execute_code -> export_shapeGratuito, ilimitado. Uma aba do Penpot com o arquivo deve estar aberta (headless OK) ou toda chamada falha.
Mesmo, mas no Figma para alguém pegarfigma create_new_file + use_figmaGrátis Iniciante = ~20 chamadas contadas/mês, 3 arquivos. Planeje. Não há createImageAsync/setPluginData.
Modelo reutilizável com variáveis (cartão OG, série de posts no IG)orshot~100 renderizações/mês gratuitas. A cor da forma vai em style.fill (backgroundColor pinta de preto). As URLs de saída são públicas e imprevisíveis.
Rascunho de ilustração com IA, gratuitohuggingface dynamic_space -> mcp-tools/Qwen-Image, aspect_ratio:"3:4"Mais próximo do riso entre os modelos gratuitos. ~6 imagens/dia (cota ZeroGPU). 1.6MP; pinta rabiscos de assinatura falsos nos cantos — corte. Os finais vão para um mecanismo pago (make-art).
Recorte PNG transparentehuggingface space_name: Upsampler/birefnet-background-removal, {"image":"<URL pública>"}~5s. Spaces aceitam apenas URLs públicas, nunca caminhos locais.
Raster colorido -> SVG (logotipos, marcas)shapesoda vectorize {image_base64, image_type:"artwork", colors:8, format:["svg"]}~10/dia gratuitos. O link de download expira em 24h — baixe imediatamente. Remova caminhos #ff00ff perdidos nas bordas do recorte. Renderize o SVG em 4x = ampliação gratuita para arte plana.
SVG de uma tinta (carimbo, estêncil, chapa de contorno)svg-tracer trace_bitmap_to_svg (caminhos absolutos)Potrace local, ilimitado, 0.1s.
Gráfico a partir de números reaisantv-chartOpção de textura desenhada à mão. Envia seus dados para um serviço de renderização de terceiros e retorna uma URL pública — apenas números públicos. O título vazio do eixo x imprime "category".
Tipo 3D / maquete de produtoBlender MCP (precisa do aplicativo em execução)Inicie o Blender com o add-on, depois adicione o servidor ad hoc (uvx mcp-for-blender@<pinned>) com DISABLE_TELEMETRY=true. A telemetria está LIGADA por padrão — sempre desative.
Finalização raster (meio-tom de jornal, edição de foto)GIMP MCP (precisa do gimp-console em execução)Para GIMP 3.2 headless: gimp-console -i --batch-interpreter=python-fu-eval -b "p=Gimp.get_pdb().lookup_procedure('plug-in-mcp-server'); c=p.create_config(); c.set_property('run-mode', Gimp.RunMode.NONINTERACTIVE); p.run(c)" &. O padrão de jornal é linhas — configure circle. Apenas cores hex. Feche o gimp-console depois.
HTML -> PNG cartão, nada sai da máquinaSatori MCP, corrigidoA versão original envia toda imagem para armazenamento público em nuvem; corrija para salvar localmente. Instale com um lockfile congelado.

Cada número em uma peça vem da fonte ao vivo (curl), nunca digitado. Verifique contraste de cores de destaque em fundos claros (um vermelho médio sobre creme pode ser ~3.8:1, o que falha em texto pequeno; escureça abaixo de ~24px).

Descartados (não retestar): Pollinations (marca d'água, baixa resolução), Stability (teste único), fal/Replicate/Together (sem tier gratuito sem cartão), Krita MCP (sem texto), tldraw e Excalidraw MCP apps (desenham apenas dentro de uma interface de chat), Bannerbear/Placid (testes), Postiz (sem nuvem gratuita, precisa Docker), Remotion MCP (apenas documentação), Buffer (CAPTCHA no cadastro).

Dados / espaciais

TarefaUseArmadilhas
SQL + espacial sobre parquet/csv/geojson/.duckdbduckdb MCP (em memória, espacial carregado)ST_Transform(ST_Point(lon,lat),'EPSG:4326','EPSG:26915') retorna POINT(inf inf) silenciosamente, então filtros de distância contam 0. Passe always_xy := true. Colunas de avaliação são frequentemente VARCHAR (max classifica como texto); preços de venda podem ter um placeholder 999.999.999. Se o servidor roda read-write, pode COPY TO em qualquer lugar: anexe seus arquivos reais READ_ONLY.
Camada ArcGIS FeatureServer ao vivoduckdb ST_Read('<FeatureServer>/0/query?where=...&outFields=...&orderByFields=OBJECTID&f=geojson&resultOffset=N')Trunca silenciosamente no maxRecordCount do servidor (geralmente 2.000) sem aviso. Verifique returnCountOnly=true primeiro, pagine com resultOffset + orderByFields, e nomeie colunas no UNION ALL (uma última página vazia não tem nenhuma).
OSM / Overpass (restaurantes em um bairro...)osm openstreetmap_search_places -> id da relação -> openstreetmap_query_bbox{within:"R..."}Vazamentos de área por nome: o nome de um bairro pode puxar linhas de um local com o mesmo nome em outro estado. Sempre pesquise dentro do id da relação. Overpass espelha 500 com frequência; tente novamente.
Census ACS por endereço/tratocensus census_resolve_geography{name:"<endereço>"} -> census_query_data{dataset:"acs/acs5", ...}Retorna MOE (variáveis ...M) — relate. Precisa de uma chave CENSUS_API_KEY gratuita.
Renderizar um mapa PNG para ver o que construiumaplibre render_styleChrome headless, mapa base OpenFreeMap, sem chave.

Descartados: gis-mcp (88 ferramentas, DuckDB cobre), o MCP oficial do Census (precisa Docker+Postgres), MCPs ArcGIS estilo crawler sem paginação, PostGIS (DuckDB cobre).

Pesquisa web / extração

TarefaUseArmadilhas
"Quem cuida das operações na X", pesquisa de pessoas/empresasexa web_search_exaSem chave. Frequentemente encontra a página de equipe da própria empresa onde a busca genérica na web não encontra nada.
Leitura rápida de uma página conhecidaexa web_fetch_exa {urls:[...]}Subsegundo a partir de seu índice — em cache e sem JS; possível desatualização.
Pesquisa por frase exata, scraping renderizadofirecrawl~1.000 créditos/mês gratuitos (scrape 1, search 2, JSON 5). A extração JSON inventa campos — confie apenas no que aparece no markdown retornado.
Crawl renderizado, ilimitado, e-mails ocultos pelo CloudflareCrawl4AI CLI crwl <url> -o markdownDecodifica data-cfemail que o curl não pega. Lote: AsyncWebCrawler(...).arun_many.
Página JS sem nada instaladocurl https://r.jina.ai/<url>~20 req/min sem chave, 2-18s.
  • Alguns portais de cidade estão atrás de Cloudflare que nada consegue atravessar headless; sua camada REST ArcGIS geralmente tem os mesmos dados.
  • Email: use o endereço que a empresa publica em seu próprio site, depois verifique o MX para esse domínio exato. Diretórios alteram domínios (uma letra removida ou adicionada é comum). A verificação no nível da caixa de entrada geralmente não é possível a partir de uma conexão residencial; a porta 25 está bloqueada.
  • Descartados: Reddit MCP (403 anônimo — use reddit-mining), browser-use (precisa de uma chave LLM paga), Browserbase (verificação por telefone). Tavily/Apify/Hunter/Brave param em um CAPTCHA no cadastro — um clique humano cada um se desejado.

Dados financeiros / governamentais

TarefaUseArmadilhas
Demonstrativos financeiros reportados, último trimestresec-edgar get_xbrl_concepts (por arquivamento)O companyfacts da EDGAR (o que muitas ferramentas chamam de get_key_metrics) pode estar um trimestre atrasado — ele para silenciosamente no trimestre anterior. O XBRL por arquivamento obtém o mais recente corretamente. Veja sec-financials.
Preços, atualizações de analistas (up/downgrade), estimativasyfinanceTrate como instável; verifique um fechamento na própria página da bolsa antes de usar um número.
Oportunidades SAM.gov, grants.gov, data.govUm MCP de dados gov sem chaveA rota SAM gratuita (a API do SAM precisa de login.gov MFA). Os resultados da pesquisa omitem NAICS/set-aside — busque cada aviso.
Prêmios USAspendingusaspendingFiltra por local de execução, não local do beneficiário — para "destinatários no estado X" chame spending_by_award com recipient_locations. "Award Amount" é vitalício, não ano fiscal.
Treasury de 10 anos etc.sem chave curl "https://fred.stlouisfed.org/graph/fredgraph.csv?id=DGS10&cosd=<YYYY-MM-DD>"FRED fica atrasado em relação à própria curva do Treasury em ~1 dia.

Frameworks

  • Claude Agent SDK para agentes headless agendados (ex.: um script uv que chama o sec-edgar MCP e escreve JSON). Sob macOS launchd, não consegue ler ~/Desktop ou ~/Documents — coloque arquivos em outro lugar.
  • promptfoo para avaliações de um produto de chat: execute o prompt real do sistema através de claude -p com asserts determinísticos (palavras proibidas, limites de palavras). Defina PROMPTFOO_DISABLE_TELEMETRY=1. Passe o prompt via stdin (--tools "" engole um prompt posicional).
  • Observable Framework para dados -> site estático (carregadores Python via uv run). Uma tag literal de analytics <script> quebra a construção; injete-a em tempo de execução.
  • Scripts uv (dependências inline PEP 723) para cada pequeno pipeline.
  • Descartados: Evidence.dev (agora um studio com login), Pydantic AI/DSPy para pequenos jobs (o SDK cobre), plugins pesados de fornecedores que custam milhares de tokens de contexto por sessão.

Operações

NecessidadeUseNota
Perguntas pontuais de análise de produto ("quais eventos existem", funis)posthog (ferramenta única exec)Mesmos números que HogQL. Uma chave de API pessoal pode escrever flags/coortes — mantenha-a somente leitura.
Ler textos em um MacMCP do imessageSupera o SQL bruto do chat.db: decodifica attributedBody, descarta tapbacks, resolve contatos. Nenhuma ferramenta de envio. Fixe-o — mantenedor único.
Documentação atual de bibliotecascontext7Nomeie o fornecedor na consulta ou ele resolve a biblioteca errada.

Mantenha uma skill, não o MCP, quando o MCP for mais lento e pesado para a mesma resposta: Vercel (seu MCP tem ~240 ferramentas incluindo buy_domain; veja vercel-api), Stripe (seu MCP redige nomes de clientes; veja stripe-dashboard), GitHub (gh), Notion (curl; o MCP hospedado rejeita tokens de integração), Apple Notes (apple-notes; MCPs incluem ferramentas de exclusão). Nunca adicione o MCP de um provedor de email que tenha uma ferramenta de envio se sua regra for que um humano aperta enviar.

Estado de autenticação

  • Servidores OAuth (canva, figma, orshot): se claude mcp list disser "Needs authentication", execute /mcp uma vez em uma sessão interativa. Mantenha senhas e tokens no Keychain, nunca em um repositório.
  • Revogue qualquer concessão OAuth nas configurações desse site -> Aplicativos conectados.

Adicionando um novo MCP

Teste antes de registrar: npx -y @modelcontextprotocol/inspector --cli <cmd> --method tools/list (envolva o servidor em um script de shell — o inspector engole -e e flags do servidor). Depois: fixe a versão ([email protected]; servidores de referência renumeram), leia a lista de ferramentas em busca de ferramentas de envio/exclusão/publicação, verifique os padrões de telemetria e adicione uma linha acima com sua armadilha. Descarte quando não merecer mais seu lugar.

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

2016judea/ascii-charts

Build charts as plain Unicode-block text — bar, range, bullet, gap-bracket, star-histogram, heatmap, line, Venn, pie, donut and scatter — with a dependency-free Python script, for anywhere only monospace text survives (newsletter code blocks, Markdown, terminals, plain-text email, chat). Use when a chart has to embed as literal text instead of an image or a third-party chart service, or when you want a hand-made terminal look with no branding footer.

2016judea/buffett-checklist

Apply Warren Buffett's investment framework as a discipline lens when weighing a buy, hold, or sell decision — circle of competence, economic moat, owner earnings & intrinsic value, margin of safety, management/capital-allocation quality, and market psychology (Mr. Market, fear vs greed, temperament). Use when asked to "run this through Buffett", "what would Buffett say", "does this pass the moat test", "is this cheap enough", or for a second, more skeptical read on a name being evaluated or already held. This is a discipline overlay, not a replacement for a strategy — it applies the Buffett lens to how someone actually invests, rather than issuing generic advice.

2016judea/image-riff

Turn one or more reference images into original art in that reference's own visual language, then cut it to whatever surface it's for. Use when you paste or point at art and say "use this as the base image", "generate art from this", "riff on this", "some creative ideation with these images", "make me a channel banner / avatar / cover / plate", "wilder version of this", or want a spread of options off one piece of reference. This is the TASK skill; the engine is the `make-art` tool skill.

2016judea/leonardo

Draw the way Leonardo da Vinci drew — a study sheet, a notebook folio, a red-chalk or silverpoint study, a machine cutaway, a storm of vortices — in his real materials and page-logic, generated with the make-art engine and anchored on fifteen of his actual (public-domain) sheets. Use when you say "Leonardo", "da Vinci", "like his notebooks", "a codex page of X", "draw this as one of his study sheets", "sanguine", "silverpoint", or wants a design, diagram, or illustration in that hand. Also a reading guide to his notebooks (Richter's 1883 public-domain translation) for "what did Leonardo say about shadow / trees / water". This is a TASK skill; the engine is `make-art`.

2016judea/records-request

Get a specific record out of a US government office by public-records request — "request the assessor's model", "file a data practices request", "FOIA this", "open records request", "can we just ask the county for it", "who do I write to at <county>", "chase that request", "did they ever answer". Covers checking the website first, finding the right office and statute, the carve-out paragraph that makes a request answerable instead of refused, web-form traps (hidden character caps, WAFs that reject apostrophes), chasing (there is usually no deadline), whether what comes back may be republished, and parsing multi-year tables without silent errors.

2016judea/sms-native-product

Build a product whose interface is text messages rather than an app or a website — "no app, no website", "they just text a number", "chat with our agent natively in Text Messages", "can we do this over text", "an SMS bot", "a Telegram bot", "make it a group chat", "minimum viable friction". Fires equally when it has already gone wrong — "my campaign got rejected", "our number is blocked", "the texts aren't arriving", "why do I need to register". Covers the gate that decides whether such a product can send at all (US A2P 10DLC registration, SHAFT content rules, permanent rejection codes), group MMS from code, what each channel can't do, an architecture that survives losing the channel, and guarding model-rewritten user content.

2016judea/vertical-market-agent

Build a chat agent that knows one industry in one metro better than any general model because it carries a precomputed digest of real public records (or a mined review corpus) and can pull live records mid-conversation — finding the moat, building a byte-stable substrate, enumerating what the records can't, the data traps that produce plausible wrong numbers, deterministic math in tools, measured prompt cost and cache TTL, shipping as an ad destination, an off-sector ending, and a precomputed spatial "what is this next to" layer. Use when building a vertical AI agent grounded in records rather than general knowledge.

Habilidades Relacionadas