feat!: rename MCP tools to match v2 docs (v3.0.0, BREAKING)#18
Merged
Vikrant-Khedkar merged 1 commit intoScrapeGraphAI:mainfrom Apr 30, 2026
Conversation
Aligns the MCP surface to the public v2 API vocabulary at docs.scrapegraphai.com/services/*. Hard rename, no aliases — bumped to v3.0.0. Renames: - smartscraper -> extract (POST /extract) - searchscraper -> search (POST /search) - smartcrawler_initiate -> crawl_start (POST /crawl) - smartcrawler_fetch_results -> crawl_get_status (GET /crawl/:id) - sgai_history -> history (GET /history) - generate_schema -> schema (POST /schema) - markdownify -> removed (use scrape with output_format="markdown") Tool count: 18 -> 17. ScapeGraphClient also lost its dead markdownify and duplicate-name shim methods (extract/search) that would have recursed infinitely after the rename. End-to-end verified locally via HTTP transport with X-API-Key: - tools/list returns the 17 canonical names - extract / search / scrape / history / credits all return live API data - smartscraper / markdownify return "Unknown tool" as expected Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Aligns the MCP tool surface to the canonical v2 API vocabulary at
docs.scrapegraphai.com/services/*. The MCP currently exposes legacy names (smartscraper,searchscraper,smartcrawler_initiate, …) while the docs and SDKs useextract,search,crawl_start, etc. This PR fixes that drift.Hard rename, no aliases. Bumped to
v3.0.0.Renames
smartscraperextractPOST /extractsearchscrapersearchPOST /searchsmartcrawler_initiatecrawl_startPOST /crawlsmartcrawler_fetch_resultscrawl_get_statusGET /crawl/:idsgai_historyhistoryGET /historygenerate_schemaschemaPOST /schemamarkdownifyscrapewithoutput_format="markdown"Unchanged:
scrape,crawl_stop,crawl_resume,credits,monitor_*(already match docs).Tool count: 18 → 17.
What changed
src/scrapegraph_mcp/server.py— renamed 6@mcp.toolfunctions, deletedmarkdownifytool. Also removed dead code onScapeGraphClient: themarkdownify()HTTP method and two backwards-compat shims (extract/search) that would have recursed infinitely after the rename.pyproject.toml,server.json— version →3.0.0.README.md— added v2→v3 migration section, updated all tool tables and prose..agent/README.md,.agent/system/project_architecture.md,.agent/system/mcp_protocol.md— swept all references.uv.lock— picked up the version bump.Test plan
End-to-end verified locally via HTTP transport with
X-API-Key:tools/listreturns exactly the 17 canonical namescreditsreturns live API dataextract(wassmartscraper) onhttps://scrapegraphai.comreturns structured JSONsearchreturns resultsscrapereturns markdownhistoryreturns recent request logsmartscraper,markdownify) returnUnknown tool: <name>(proves no silent fallback)ruff check src/passesOut of scope (follow-ups)
docs.scrapegraphai.com/services/mcp-server/introductionlive in a separate repo — needs a parallel docs PR before v3 ships publicly.v3.0.0, publish to PyPI, Smithery picks up the new package on redeploy.🤖 Generated with Claude Code