This site publishes a public, read-only MCP (Model Context Protocol) server over the same catalogue you see on /projects, /articles and /links — so an AI assistant (Claude, etc.) can search and read these pages directly, no HTML scraping needed.
#Endpoint
https://jeffersongoncalves.dev.br/mcp
HTTP transport (Streamable HTTP), no auth — the content is already public. Throttled to 60 requests/min per IP. Ready-to-copy config for your AI assistant is further down this page.
#Test it locally with the MCP Inspector
php artisan mcp:inspector mcp/portfolio
#What it exposes
- search_projects — search projects, articles and curated links by free text (
query, also matches the tech stack and topics, not just the name), section (section:projects/articles/links), an exact category (category, e.g.filament_plugin,laravel_package,starter_kit), the summary's language (locale:pt_BR/en/es, defaults toen) and a result limit (limit, 1-50). Returns a Markdown list with each page's name, canonical URL, category and a one-line summary. - get_page — fetch one published page by its
slug(the same one search_projects returns) and optionallylocale(pt_BR/en/es) for the summary's language: category, whichever outbound links exist (GitHub, Packagist, npm, Docker Hub, docs, demo), stars, downloads, license, package type, language, supported Filament versions, stack and topics, plus a plain-text README excerpt (up to 3000 characters, already sanitized and stripped of markup). - get_site_stats — aggregate numbers across the whole portfolio: repo and catalogue-page counts, downloads by registry (Packagist/npm/JetBrains/Docker), stars, GitHub followers and sponsors, package counts by category, the busiest languages/topics, and links to support the work (GitHub Sponsors, Buy Me a Coffee). No arguments.
- Resource
site://llms.txt— the same plain-text page map served at /llms.txt: every public page on the site with its URL, meant to let an assistant discover the whole catalogue in one read.
#Technical notes
All three tools are read-only: search_projects and get_page query the exact same rows and published() scope that /projects, /articles and /links use, and get_site_stats reads the same cached aggregate the site's own stat cards use — nothing hidden, nothing mutable. The server runs on Laravel MCP over Streamable HTTP transport; no session or handshake beyond the MCP protocol itself.