Skip to main content
Glama
KSDeshappriya

FindIt

FindIt - Advanced Web Search MCP

Ask DeepWiki

A powerful web search and content extraction tool that provides comprehensive, real-time results using Google's search engine. Returns relevant web content with customizable parameters for result count, content type, time range, and domain filtering. Ideal for gathering current information, news, and detailed web content analysis.

Installation

Prerequisites

  • Python 3.8 or higher

  • uv package manager

Setup

  1. Clone the repository:

    git clone https://github.com/KSDeshappriya/findit-mcp.git
    cd findit-mcp
  2. Install dependencies using uv:

    uv pip install fastmcp httpx pydantic-settings python-dotenv beautifulsoup4
  3. Set up Google API credentials:

    • Create a Custom Search Engine ID from Google Programmable Search Engine

    • Follow the setup instructions at Google Custom Search JSON API

    • Set the environment variables or update the configuration file with your credentials:

      GOOGLE_API_KEY=your_google_api_key # https://developers.google.com/custom-search/v1/introduction
      GOOGLE_CSE_ID=your_custom_search_engine_id # https://programmablesearchengine.google.com/
  4. Configure your MCP client to use FindIt as specified in the Configuration section.

Related MCP server: Web Search MCP

Configuration

{
  "mcpServers": {
    "FindIt": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "--with",
        "httpx",
        "--with",
        "pydantic-settings",
        "--with",
        "python-dotenv",
        "--with",
        "beautifulsoup4",
        "fastmcp",
        "run",
        "/path/to/server.py"
      ],
      "env": {
        "GOOGLE_API_KEY": "your_google_api",
        "GOOGLE_CSE_ID": "google_cse_id"
      }
    }
  }
}

Tools

findIt_google

Performs a web search using Google Programmable Search Engine with enhanced parameters.

Parameters:

  • query*: Search query string

  • search_depth: The depth of the search - 'basic' (faster) or 'advanced' (more comprehensive)

  • time_range: Limit results to a specific time frame ('day', 'week', 'month', 'year')

  • max_results: The maximum number of search results to return (1-10)

  • include_domains: List of domains to specifically include in the search results

  • exclude_domains: List of domains to specifically exclude from the search results

  • include_raw_content: Include the cleaned and parsed content from top results (limited to first 3 results)

findIt_scrap

Extracts and processes content from specified URLs, supporting in-depth content analysis.

Parameters:

  • urls*: List of URLs to extract content from

  • extract_depth: Depth of extraction - 'basic' or 'advanced'

  • include_images: Include a list of images extracted from the URLs in the response (limited to 10 per URL)

Example Prompts

  1. Research with Domain Filtering:

    • "Search for recent studies on climate change from .edu and .gov domains only and summarize the key findings."

  2. Content Extraction:

    • "Extract the full content from these three articles about artificial intelligence ethics and create a comparative analysis."

  3. Targeted Research with Time Constraints:

    • "Find news articles about renewable energy innovations from the past month and extract the most significant breakthroughs."

  4. Competitive Analysis:

    • "Search for information about Tesla's latest electric vehicles and extract detailed specifications from their official website."

  5. Academic Research:

    • "Find scientific papers on mRNA vaccines published in the last year, excluding results from news sites."

  6. Technical Documentation:

    • "Extract the installation instructions from the official documentation pages for TensorFlow, PyTorch, and Keras."

  7. Market Analysis:

    • "Search for recent financial reports about the semiconductor industry from the past week and extract key market trends."

  8. Image Collection:

    • "Find websites about sustainable architecture and extract all relevant images with their descriptions."

  9. Product Comparison:

    • "Search for detailed reviews of the latest MacBook Pro and extract specifications and performance benchmarks."

  10. News Analysis:

    • "Find articles about the recent tech layoffs from major news sources published this month and extract the main facts."

Bonus Prompt

"Large Concept Model (LCM) : A giant step towards AGI" generate report about that using web search and web scrap

License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0) - see the LICENSE file for details.

Available Tools

2 tools
findIt_googleB

Performs a web search using Google Programmable Search Engine with enhanced parameters. Returns search results with metadata and optionally raw content from top results.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query string.
time_rangeNoLimit results to the specified time range.
max_resultsNoNumber of search results to return (1-10).
search_depthNoThe depth of the search. 'basic' is faster, 'advanced' is more comprehensive.basic
exclude_domainsNoList of domains to specifically exclude from the search results.
include_domainsNoList of domains to specifically include in the search results.
include_raw_contentNoInclude the cleaned and parsed content from top results.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the return shape ('metadata and optionally raw content from top results'), which is useful, but says nothing about authentication/API key requirements, rate limits, or cost/latency differences between 'basic' and 'advanced' depth that the schema alludes to.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and the return behavior. The phrase 'with enhanced parameters' is filler that doesn't earn its place, keeping it out of 5 territory.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must explain returns, and it does partially (metadata + optional raw content). However, for a 7-parameter search tool with no annotations, it omits key operational context such as result source restrictions and how 'include_raw_content' affects output size.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the schema (query, time_range, max_results range, search_depth, include/exclude domains, include_raw_content). The description adds no parameter-level meaning beyond the phrase 'enhanced parameters', so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Performs a web search using Google Programmable Search Engine') which is clear enough to distinguish from the sibling findIt_scrap, though it never names that sibling directly. The addition of 'enhanced parameters' is vague and adds no discriminating power.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus the sibling findIt_scrap (search vs. fetch a specific page), and no prerequisites or exclusions. The agent must infer usage entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

findIt_scrapC

Extracts and processes content from specified URLs, supporting in-depth content analysis and optional image extraction. Perfect for research and content gathering tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesList of URLs to extract content from.
extract_depthNoDepth of extraction - basic extracts main content, advanced attempts to get more detailed content.basic
include_imagesNoInclude a list of images extracted from the URLs in the response.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and falls short: it says nothing about authentication, rate limits, failure behavior on unreachable URLs, whether JavaScript is rendered, or how batch URLs are handled. 'Processes' is left undefined, and the only behavioral hints (depth modes) merely restate the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences that are front-loaded with the core action, which is good. The second sentence, 'Perfect for research and content gathering tasks,' is unsupported marketing filler that consumes space without informing invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should explain what a call returns (extracted text shape, image list) and how partially failed URLs are reported. It provides none of this, so an agent cannot predict results or handle errors from the definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented in the schema, making 3 the baseline. The description's mention of 'in-depth content analysis' and 'optional image extraction' loosely parallels extract_depth and include_images but adds no syntax, defaults, or trade-off detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource: 'Extracts and processes content from specified URLs,' with optional image extraction. An agent can tell it is a URL-scraping tool, though it never names or contrasts itself with the sibling findIt_google, leaving their division of labor to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is the vague marketing line 'Perfect for research and content gathering tasks,' which does not say when to pick this over findIt_google, when not to use it, or what prerequisites (e.g., already having URLs) exist. No alternative is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedfindIt_google
    • First observedfindIt_scrap

TDQS

B3.2/5.0

Scored across 2 tools

Disambiguation5/5

findIt_google performs web search, while findIt_scrap extracts content from specified URLs. Their actions and inputs are clearly distinct, so an agent can easily choose the right tool.

Naming Consistency4/5

Both tools share the findIt_ prefix and snake_case style. The suffixes are slightly inconsistent: 'google' is a service noun, while 'scrap' is an abbreviated verb, but the convention is still readable.

Tool Count3/5

Two tools cover the basic search-and-scrape workflow, but a 2-tool surface is thin and sits at the borderline of the typical 3-15 range. It is acceptable for a narrow purpose but feels minimal.

Completeness4/5

The server covers core web research needs: searching the web and extracting page content. Minor gaps such as batch scraping, pagination controls, or alternate search backends exist but are not essential for basic usage.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables web searching and content scraping through Google Custom Search API. Provides tools to search the internet, extract webpage content, and automatically scrape search results for comprehensive information gathering.
    3
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables web searching through Google, DuckDuckGo, and Bing using a headless Chrome browser, returning structured results with titles, URLs, and snippets. Also supports fetching and extracting text content from any webpage.
    14
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables Google search automation and web content extraction using Playwright. Performs Google searches and fetches main content from web pages, returning structured results in JSON format.
    31 npm
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables performing Google searches using the Custom Search Engine API with support for various parameters like date restriction, site search, and file type. Returns search results in a conversational format.
    1
    Apache 2.0