Skip to content

Conversation

@pranavkafle
Copy link

Summary

  • expose per-engine parameter schemas as MCP resources (serpapi://engines, serpapi://engines/<engine>)
  • document engine resources in README

Why

  • The MCP tool existed but lacked in-context engine parameter documentation, which made it hard for LLMs to select correct params.
  • With resources, the MCP can work across all engines using the correct per-engine parameters.

Data provenance

  • Engine schemas were generated from the SerpApi Playground JSON at https://serpapi.com/playground.
  • The parameter catalog is embedded in the page’s data-react-props attribute (HTML-encoded JSON).
  • Data was normalized to keep the schema concise and consistent.

Testing

  • Verified all engines in engines/ can be called via MCP.
  • Deprecated engines were excluded from the dataset.
  • MCP server verified via Docker + MCP Inspector.
  • Full test log will be attached as a PR comment (not committed).

@pranavkafle
Copy link
Author

Test summary

  • Ran one pass across all engines using MCP search tool with params from the engine resources.
  • Retries were performed only when params were invalid (e.g., format corrections).
  • Deprecated engines were excluded from the dataset.

Full test log (engine-test-results.md):
https://gist.github.com/pranavkafle/8ca95aeaff74b4a8548435a1e2356c67

@pranavkafle
Copy link
Author

Hi @vladm-serpapi , I just wanted to get your eyes on this contribution of mine. I wanted to make sure that this awesome MCP can use not just a few listed engines but all the engines in serpAPI and has the proper documentation about the required parameters as MCP resources.

I am happy to rework or answer any questions you may have! Thanks!

@vladm-serpapi
Copy link
Contributor

Hi @vladm-serpapi , I just wanted to get your eyes on this contribution of mine. I wanted to make sure that this awesome MCP can use not just a few listed engines but all the engines in serpAPI and has the proper documentation about the required parameters as MCP resources.

I am happy to rework or answer any questions you may have! Thanks!

Hey @pranavkafle , thanks for the work! I will take a look at it this week or early next week to see the best way to integrate that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants