Flippa MCP
The Flippa MCP server provides AI-powered tools to search, analyze, and evaluate online business listings on the Flippa marketplace — no API key or account required.
Search Listings (
flippa_search_listings): Browse the marketplace with filters for property type (SaaS, website, ecommerce, FBA, apps, YouTube, newsletters, etc.), listing status, sale method (auction or classified), and sorting options (most profitable, highest price, ending soonest, etc.).Get Listing Details (
flippa_get_listing): Retrieve complete information for a specific listing by ID, including pricing, revenue, profit, traffic stats, seller info, verification status, and full description.Analyze a Listing (
flippa_analyze_listing): Perform a valuation analysis — computes revenue/profit multiples, ROI estimates, and price-per-visitor metrics; delivers a verdict (underpriced, fair, overpriced, or insufficient data); and flags risk factors like unverified revenue, low traffic, no bids, or missing data.Find Comparable Sales (
flippa_comparable_sales): Discover similar listings for benchmarking, with aggregate stats like average price, median price, average revenue multiple, and price range.Market Overview (
flippa_market_overview): Get a broad market snapshot with aggregate statistics across all or specific property types, including total listing counts, price/revenue/profit stats (min, max, avg, median), average revenue multiples, and verified revenue percentages.
Results can be returned in human-readable markdown or structured JSON, and the server runs cross-platform via Claude Desktop integration.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Flippa MCPfind me profitable SaaS businesses for sale under $50,000"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Flippa.com Listings MCP
Search, analyze, and evaluate online businesses on Flippa — powered by AI.
No API key required. No account needed. Just plug into Claude and go.
npx flippa-mcp-serverWorks on Mac, Windows, and Linux.
Why Flippa MCP · Tools · Getting Started · Examples
Why Flippa MCP
Flippa is the world's largest marketplace for buying and selling online businesses — websites, SaaS products, ecommerce stores, apps, newsletters, and more. Thousands of listings, each with revenue claims, traffic stats, and asking prices that may or may not make sense.
Evaluating a listing manually means checking revenue multiples, comparing prices across similar businesses, assessing risk factors, and doing math you'll probably get wrong at 2am. Multiply that by the dozens of listings you need to review to find a good deal.
Flippa MCP gives Claude full marketplace intelligence. Five specialized tools that search listings, pull detailed financials, compute valuation metrics, find comparable sales, and generate market overviews. Zero configuration. No API key. No Flippa account. Just install and ask Claude to find you a good deal.
Related MCP server: TrustMRR MCP Server
Who This Is For
Entrepreneurs evaluating businesses to buy on Flippa
Investors doing due diligence on online business acquisitions
Sellers researching pricing and market conditions before listing
Anyone who wants AI-powered marketplace intelligence without the spreadsheet grind
Getting Started
Install
npx flippa-mcp-serverOr install globally:
npm install -g flippa-mcp-serverClaude Desktop Configuration
Add to your Claude Desktop config file:
{
"mcpServers": {
"flippa": {
"command": "npx",
"args": ["flippa-mcp-server"]
}
}
}Platform | Path |
macOS |
|
Windows |
|
Linux |
|
No API key required! The Flippa listings API is public. All 5 tools work without any authentication or Flippa account.
Tools
Tool | Description |
| Search and browse listings with filters for type, status, sale method, and sorting |
| Get complete details for any listing by ID |
| Compute valuation metrics: revenue multiples, ROI, risk factors, and buy/pass verdict |
| Find comparable listings and get aggregate pricing stats |
| Get market-wide statistics across property types |
Parameter | Type | Required | Default | Description |
| string | No | — |
|
| string | No |
|
|
| string | No | — |
|
| string | No | — |
|
| number | No |
| Page number for pagination |
| number | No |
| Results per page (1–100) |
| string | No |
|
|
Parameter | Type | Required | Default | Description |
| string | Yes | — | The Flippa listing ID (e.g., |
| string | No |
|
|
Returns complete listing data: pricing, revenue, profit, traffic, seller info, verification status, description, images, and more.
Parameter | Type | Required | Default | Description |
| string | Yes | — | The Flippa listing ID to analyze |
| string | No |
|
|
Returns computed metrics:
Revenue multiple, profit multiple, annual revenue
Price per visitor, revenue per visitor
Estimated ROI in months
Verdict: underpriced, fair, overpriced, or insufficient_data
Risk factors (unverified revenue, low traffic, no bids, etc.)
Parameter | Type | Required | Default | Description |
| string | No | — | Find comparables for this listing (uses its type and revenue range) |
| string | No | — | Filter by type. Overrides listing's type if both provided. |
| number | No |
| Number of comparables (1–20) |
| string | No |
|
|
Returns comparable listings with aggregate stats: average price, median price, average revenue multiple, and price range.
Parameter | Type | Required | Default | Description |
| string | No | — | Focus on one type, or omit for full market view |
| string | No |
|
|
Returns market-wide stats: total listings, breakdown by type, price/revenue/profit statistics (min, max, avg, median), average revenue multiple, and verified revenue percentage.
Examples
Search for profitable SaaS businesses
"Find me SaaS listings on Flippa sorted by most profitable"
Uses flippa_search_listings with property_type: "saas" and sort_alias: "most_profitable".
Analyze a specific listing
"Analyze Flippa listing 12299903 — is it fairly priced?"
Uses flippa_analyze_listing to compute revenue multiples, ROI, and risk factors, then delivers a verdict.
Compare with the market
"Find comparable listings for this SaaS business and tell me if the asking price is reasonable"
Uses flippa_comparable_sales to find similar listings by type and revenue range, then compares pricing.
Get a market snapshot
"Give me an overview of the current Flippa marketplace for ecommerce stores"
Uses flippa_market_overview to aggregate stats across all ecommerce listings.
Deep dive evaluation
"Search for the top 5 most profitable websites on Flippa, then analyze each one and tell me which is the best deal"
Chains flippa_search_listings → flippa_analyze_listing across multiple listings to find the best opportunity.
How Analysis Works
The flippa_analyze_listing tool fetches a listing and computes valuation metrics:
Metric | Formula |
Revenue Multiple | Asking Price / Annual Revenue |
Profit Multiple | Asking Price / Annual Profit |
ROI Estimate | Asking Price / Monthly Profit (payback in months) |
Price per Visitor | Asking Price / Monthly Uniques |
Verdict Logic
Revenue Multiple | Verdict |
< 2x | Underpriced — below typical range, investigate why |
2x – 4x | Fair — within standard online business valuation range |
> 4x | Overpriced — above typical range, ensure premium is justified |
No revenue data | Insufficient Data — cannot determine valuation |
Risk Factors Detected
The tool automatically flags these concerns:
No reported revenue or profit
Traffic data unavailable or very low (< 1,000 uniques/mo)
Revenue not verified by Flippa
Traffic not verified by Flippa
Seller is not a Super Seller
No bids on the listing
No images provided
Very short listing description (< 100 chars)
Confidential listing with limited data
Configuration
Variable | Required | Default | Description |
| No |
| Override the Flippa API base URL |
| No | — | Bearer token for future authenticated endpoints (watchlist, bidding) |
With environment variables
{
"mcpServers": {
"flippa": {
"command": "npx",
"args": ["flippa-mcp-server"],
"env": {
"FLIPPA_API_TOKEN": "your-token-here"
}
}
}
}Supported Property Types
Type | Description |
| Content sites, blogs, media properties |
| Software as a Service businesses |
| Online stores and shops |
| Amazon FBA businesses |
| iOS applications |
| Android applications |
| AI-powered applications and tools |
| YouTube channels |
| Email newsletters |
| Service businesses and agencies |
| Other business types |
Development
git clone https://github.com/sind00/flippa-mcp.git
cd flippa-mcp
npm install
npm run dev # Watch mode with tsx
npm run build # Compile TypeScript
npm start # Run compiled serverProject Structure
src/
index.ts # Server entry point
types.ts # TypeScript interfaces
constants.ts # Configuration constants
schemas/
listing.ts # Zod validation schemas
services/
flippa-client.ts # HTTP client (retry, rate limiting)
formatter.ts # Response formatting (markdown/json)
tools/
search.ts # flippa_search_listings
details.ts # flippa_get_listing
analyze.ts # flippa_analyze_listing
compare.ts # flippa_comparable_sales
market.ts # flippa_market_overviewSupport This Project
If Flippa MCP helps you find great deals, consider sponsoring to keep development going:
License
MIT License. See LICENSE for details.
Flippa has the listings. <-- MCP --> LLMs have the brains.
Available Tools
5 toolsflippa_analyze_listingAnalyze Flippa ListingARead-only
Analyze a Flippa listing's valuation, compute financial metrics, and assess risk.
This is a computed tool that fetches listing data and calculates valuation metrics including revenue multiples, profit multiples, ROI estimates, and risk factors.
Args:
listing_id: The Flippa listing ID to analyze (e.g., "12299903"). Required.
response_format: "markdown" (default) or "json"
Returns: Computed analysis including:
Financial metrics: revenue/profit multiples, annual revenue, price per visitor, ROI estimate
Verdict: "underpriced" (<2x revenue), "fair" (2-4x), "overpriced" (>4x), or "insufficient_data"
Risk factors: unverified revenue/traffic, low traffic, no bids, missing images, etc.
Examples:
Analyze a listing: { "listing_id": "12299903" }
Get analysis as JSON: { "listing_id": "12299903", "response_format": "json" }
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | The Flippa listing ID to analyze (e.g., '12299903') | |
| response_format | No | Response format: 'markdown' for human-readable or 'json' for structured data | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds valuable behavioral context beyond annotations by specifying it's a 'computed tool' that fetches and calculates metrics, and details the return structure (financial metrics, verdict, risk factors). However, it doesn't mention potential limitations like rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with a clear purpose statement. It uses bullet points for returns and examples for readability, but the 'Args' and 'Returns' sections slightly duplicate schema information. Every sentence adds value, though some trimming could improve efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (computational analysis) and lack of output schema, the description provides a complete overview of what the tool does, including specific metrics and verdict categories. It compensates for the missing output schema by detailing return values. However, it doesn't cover all contextual aspects like error handling or data sources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema. The description adds minimal value beyond the schema by restating parameter purposes in the 'Args' section and providing examples. It doesn't explain parameter interactions or edge cases, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('analyze', 'compute', 'assess') and resources ('Flippa listing's valuation', 'financial metrics', 'risk'). It distinguishes itself from siblings like 'flippa_get_listing' (which likely fetches raw data) and 'flippa_comparable_sales' (which focuses on market comparisons) by emphasizing computed analysis rather than data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through examples and return values (e.g., analyzing a specific listing ID), but it does not explicitly state when to use this tool versus alternatives like 'flippa_get_listing' (for raw data) or 'flippa_comparable_sales' (for market context). The examples provide practical guidance but lack explicit comparative instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flippa_comparable_salesFind Comparable Flippa ListingsARead-only
Find comparable listings on Flippa for valuation comparison.
If a listing_id is provided, fetches that listing first and uses its property_type and revenue range (0.5x-2x) to find similar listings. You can also search by property_type directly.
Args:
listing_id: Find comparables for this listing. Optional.
property_type: Filter by type. Overrides the target listing's type if both provided. Optional.
page_size: Number of comparables to return, 1-20 (default 10)
response_format: "markdown" (default) or "json"
Returns: Target listing (if listing_id provided), list of comparable listings, average price, median price, average revenue multiple, and price range.
Examples:
Comps for a listing: { "listing_id": "12299903" }
SaaS comparables: { "property_type": "saas", "page_size": 15 }
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | No | Find comparable listings for this listing ID. If provided, the listing's property_type and revenue range are used for matching. | |
| property_type | No | Filter comparables by property type. If listing_id is provided, this overrides the listing's type. | |
| page_size | No | Number of comparable listings to return (1-20, default 10) | |
| response_format | No | Response format: 'markdown' for human-readable or 'json' for structured data | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds useful behavioral context: it explains the logic (e.g., using property_type and revenue range 0.5x-2x for matching when listing_id is provided, and the override behavior). However, it does not disclose potential limitations like rate limits, authentication needs, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by logical flow on usage, a clear Args/Returns/Examples structure, and no redundant information. Every sentence earns its place by adding clarity or guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no output schema, but with rich schema descriptions and annotations), the description is largely complete. It covers purpose, usage logic, parameters, returns, and examples. However, without an output schema, it could benefit from more detail on return structure (e.g., format of 'list of comparable listings'), though the examples partially compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema: it briefly mentions the revenue range logic for listing_id and the override behavior for property_type, but does not provide additional syntax, format details, or examples beyond what is in the schema and examples section.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find comparable listings on Flippa for valuation comparison.' It specifies the verb ('find') and resource ('comparable listings'), and distinguishes it from siblings by focusing on valuation comparison rather than analysis, retrieval, overview, or general search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: for valuation comparison, with options to search by listing_id or property_type. It mentions that property_type overrides the target listing's type if both are provided, but does not explicitly state when to use this tool versus sibling alternatives like flippa_search_listings or flippa_analyze_listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flippa_get_listingGet Flippa Listing DetailsARead-onlyIdempotent
Get full details for a specific Flippa listing by ID.
Args:
listing_id: The Flippa listing ID (e.g., "12299903"). Required.
response_format: "markdown" (default) or "json"
Returns: Complete listing details including price, revenue, profit, traffic stats, seller info, verification status, description, and more.
Examples:
Get listing details: { "listing_id": "12299903" }
Get as JSON: { "listing_id": "12299903", "response_format": "json" }
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | The Flippa listing ID (e.g., '12299903') | |
| response_format | No | Response format: 'markdown' for human-readable or 'json' for structured data | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds value by specifying the return content (price, revenue, etc.) and response format options, which are behavioral traits not covered by annotations, though it doesn't mention rate limits or auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by structured sections (Args, Returns, Examples) that are efficient and informative. Every sentence earns its place without redundancy, making it appropriately sized and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters, no nested objects), rich annotations (covering read-only, idempotent, non-destructive), and 100% schema coverage, the description is complete enough. It adds useful context on return content and examples, compensating for the lack of an output schema, making it fully adequate for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-documented in the schema (listing_id as ID, response_format with enum and default). The description adds minimal semantics beyond the schema, only restating the parameter names and providing examples, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'full details for a specific Flippa listing by ID', making the purpose explicit. It distinguishes from siblings like 'flippa_search_listings' (which searches multiple listings) and 'flippa_analyze_listing' (which likely analyzes rather than fetches raw details), providing specific differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying it's for a 'specific' listing by ID, suggesting it should be used when you have a known listing ID. However, it doesn't explicitly state when not to use it (e.g., vs. 'flippa_search_listings' for unknown IDs) or name alternatives, so it lacks full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flippa_market_overviewFlippa Market OverviewARead-only
Get aggregate market statistics from the Flippa marketplace.
Queries listings across property types to build a market snapshot including total counts, price/revenue/profit statistics, and verification rates.
Args:
property_type: Focus on a specific type (website, saas, ecommerce_store, etc.). If omitted, aggregates across all major types. Optional.
response_format: "markdown" (default) or "json"
Returns: Market overview with total listings, breakdown by property type (count, avg price, avg revenue), price/revenue/profit statistics (min, max, avg, median), average revenue multiple, and verified revenue percentage.
Examples:
Full market overview: {}
SaaS market overview: { "property_type": "saas" }
| Name | Required | Description | Default |
|---|---|---|---|
| property_type | No | Focus on a specific property type. If omitted, aggregates across all major types. | |
| response_format | No | Response format: 'markdown' for human-readable or 'json' for structured data | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable context beyond annotations, such as the tool's focus on aggregate statistics and the types of data returned (e.g., verification rates, revenue multiples), which are not covered by the read-only and non-destructive hints. However, it does not detail potential limitations like rate limits or data freshness, leaving some behavioral aspects unspecified. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded, starting with a clear purpose statement, followed by concise sections for Args, Returns, and Examples. Each sentence adds specific value without redundancy, such as explaining aggregation behavior and providing usage examples, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, lack of output schema, and rich annotations, the description is largely complete, covering purpose, parameters, return details, and examples. However, it could improve by explicitly mentioning any constraints like data recency or aggregation methods, slightly reducing completeness for advanced use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already fully documents both parameters, including enums and defaults. The description adds minimal semantic value by briefly mentioning the optional 'property_type' and 'response_format' in the Args section, but does not provide additional insights beyond what the schema states, aligning with the baseline score for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get aggregate market statistics') and resource ('from the Flippa marketplace'), distinguishing it from siblings like 'flippa_analyze_listing' or 'flippa_search_listings' by focusing on aggregated data rather than individual listings. It specifies what the snapshot includes, such as total counts and price/revenue/profit statistics, making the scope explicit and unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool, including examples for full market overview and SaaS-specific overview, and implies alternatives by contrasting with sibling tools that handle individual listings or comparable sales. It clearly indicates that omitting 'property_type' aggregates across all types, offering practical usage scenarios without misleading information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flippa_search_listingsSearch Flippa ListingsARead-onlyIdempotent
Search and browse listings on the Flippa marketplace.
Args:
property_type: Filter by type (website, saas, ecommerce_store, fba, ios_app, android_app, ai_apps_and_tools, youtube, newsletter, service, other)
status: Filter by status (open, closed, ended). Default: "open"
sale_method: Filter by sale method (auction, classified)
sort_alias: Sort by (lowest_price, highest_price, most_active, most_recent, ending_soonest, most_profitable, most_relevant)
page_number: Page number (default 1)
page_size: Results per page, 1-100 (default 30)
response_format: "markdown" (default) or "json"
Returns: Paginated list of Flippa listings with price, revenue, profit, bid count, and verification status. Includes pagination metadata with has_more flag.
Examples:
Search all open SaaS listings: { "property_type": "saas" }
Most profitable websites: { "property_type": "website", "sort_alias": "most_profitable" }
Ending soon auctions: { "sale_method": "auction", "sort_alias": "ending_soonest" }
| Name | Required | Description | Default |
|---|---|---|---|
| property_type | No | Filter by property/business type (e.g., 'saas', 'website', 'ecommerce_store') | |
| status | No | Filter by listing status: 'open' (active), 'closed' (sold), or 'ended' (expired) | open |
| sale_method | No | Filter by sale method: 'auction' or 'classified' (fixed price) | |
| sort_alias | No | Sort order for results (e.g., 'most_recent', 'highest_price', 'most_profitable') | |
| page_number | No | Page number for pagination, starting at 1 | |
| page_size | No | Number of results per page (1-100, default 30) | |
| response_format | No | Response format: 'markdown' for human-readable or 'json' for structured data | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context beyond this: it specifies the tool returns paginated results with a 'has_more' flag, describes the content of listings (price, revenue, profit, bid count, verification status), and mentions response format options. This provides useful behavioral details not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, Args, Returns, Examples) and every sentence earns its place. The front-loaded purpose statement is followed by organized parameter documentation and practical examples. No wasted words while maintaining clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, search functionality) and rich annotations, the description provides good completeness: it explains what the tool does, documents all parameters, describes the return format and content, and includes helpful examples. The main gap is lack of explicit sibling differentiation, but overall it's quite complete for a search tool without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all 7 parameters thoroughly with enums, defaults, and descriptions. The description's 'Args' section essentially repeats what's in the schema (though organized differently), adding minimal semantic value. The examples help illustrate parameter combinations but don't add new parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search and browse listings on the Flippa marketplace' - a specific verb ('search') and resource ('listings') that distinguishes it from siblings like 'analyze_listing' or 'get_listing'. However, it doesn't explicitly differentiate from 'market_overview' which might also involve searching/browsing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through examples (searching SaaS listings, most profitable websites, ending soon auctions) but doesn't explicitly state when to use this vs. alternatives like 'flippa_get_listing' for specific listings or 'flippa_market_overview' for aggregated data. No explicit when-not-to-use guidance is provided.
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.
5 tool updates
v1.0.0- First observed
flippa_analyze_listing - First observed
flippa_comparable_sales - First observed
flippa_get_listing - First observed
flippa_market_overview - First observed
flippa_search_listings
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: analyze_listing focuses on valuation metrics and risk assessment, comparable_sales finds similar listings for comparison, get_listing retrieves detailed listing data, market_overview provides aggregate statistics, and search_listings enables browsing and filtering. The descriptions clearly differentiate their functions, eliminating any potential for confusion.
All tools follow a perfect 'flippa_verb_noun' pattern (e.g., flippa_analyze_listing, flippa_comparable_sales). This consistent naming convention makes the tool set predictable and easy to understand, with no deviations in style or structure across all five tools.
With 5 tools, this server is well-scoped for analyzing and browsing Flippa marketplace data. Each tool serves a unique and essential function—from individual listing analysis to market-wide insights—without being overly sparse or bloated, making the count ideal for the domain.
The tool set covers core workflows for Flippa analysis: retrieving listings (get_listing, search_listings), evaluating them (analyze_listing, comparable_sales), and understanding market context (market_overview). A minor gap is the lack of tools for interacting with listings (e.g., bidding or saving), but this is reasonable for a read-only analysis server focused on data retrieval and assessment.
Maintenance
Related MCP Connectors
AI marketplace: search, buy, sell across Amazon, eBay, AliExpress. 13 tools.
Search real-estate deals, rank top areas, run rental/BRRRR/flip analysis, pull sold comps.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Measure what ChatGPT, Claude, Gemini and 4 more AI engines say about any business. No auth.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search eBay listings, track item prices over time, and identify deals below market value using eBay's APIs. It provides tools for category browsing and retrieving detailed information for specific listings.1MIT
- AlicenseNot gradedqualityCmaintenanceConnects AI assistants to the TrustMRR API to browse, filter, and analyze startup listings by revenue, MRR, and growth metrics. It enables detailed retrieval of startup financials and pricing for comprehensive deal analysis.1214MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform real-time business intelligence tasks including competitive analysis, website scoring, review analysis, and market research.MIT
- AlicenseNot gradedqualityCmaintenanceGovAuctions.app is a free public site for searching government surplus auctions. This MCP server exposes its data: live listings from GSA and other public sellers across the US, UK, CA and AU, sold-price comps from 170,000+ closed auctions, and a 0-100 Flip Score resale signal.MIT