Skip to main content
Glama
Floppydata

floppydata-mcp

Official
by Floppydata

Floppydata MCP

Floppydata MCP lets agents use the Floppydata Client API v2 directly from an MCP-compatible client.

It is intentionally small: install it with npx, provide FLOPPYDATA_API_KEY, and the server talks to https://api.floppydata.net.

Setup

Create a Client API key in the Floppydata dashboard:

https://app.floppydata.com/api-keys

Add this server to your MCP client:

{
  "mcpServers": {
    "floppydata": {
      "command": "npx",
      "args": ["-y", "@floppydata/mcp"],
      "env": {
        "FLOPPYDATA_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

That is the whole setup. There is no hosted service, no extra CLI, and no base URL configuration.

Related MCP server: Scout MCP Server

Tools

fetch_web_data

Fetch a public page through Web Data.

Useful when an agent needs page HTML and the target site should be fetched through Floppydata infrastructure.

Required input:

{
  "url": "https://example.com"
}

Optional inputs: countryCode, city, difficulty, cacheMaxAgeDays.

create_rotating_proxy_connection

Build one rotating proxy connection.

The most important value in the response is:

connection.connectionString

Example input:

{
  "type": "residential",
  "country": "US",
  "city": "New York",
  "rotation": 15,
  "protocol": "http"
}

list_rotating_proxy_locations

List available rotating proxy countries, cities, and states for a proxy type.

Example input:

{
  "type": "residential"
}

check_proxy

Check the exit IP and location for a proxy.

Example input:

{
  "connectionString": "http://USERNAME:PASSWORD@geo.g-w.info:10080"
}

The response shape is:

{
  "ip": "123.45.67.89",
  "location": {
    "countryCode": "US",
    "country": "United States",
    "state": "California",
    "city": "San Francisco"
  }
}

list_static_proxies

List static proxies on the account.

Use items[n].connection.connectionString as the copy-paste proxy URL.

get_account_balances

Check account balances across Web Data, rotating proxy traffic, and static proxies.

Optional input:

{
  "product": "proxy-rotating"
}

Allowed products: web-data, proxy-rotating, proxy-static.

get_account_usage

Check account usage rollups.

Responses include:

  • yesterday

  • last7Days

  • last30Days

  • optional requestedRange when from or to is provided

  • lastUpdatedAt

Example input:

{
  "product": "proxy-rotating",
  "from": "2026-06-01T00:00:00Z",
  "to": "2026-06-26T23:59:59Z",
  "countryCode": "US",
  "proxyType": "residential"
}

Security

The server reads the API key from FLOPPYDATA_API_KEY and sends it as X-Api-Key.

API keys and passwords are redacted from errors and logs. Proxy passwords are still returned in successful proxy connection responses because those credentials are the output customers need to use.

Development

pnpm install
pnpm test
pnpm typecheck
pnpm lint
pnpm build
npm pack --dry-run

Available Tools

7 tools
check_proxyB

Check a proxy connection and return the exit IP and location seen through that proxy.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoProxy host.
portNoProxy port.
passwordNoProxy password.
protocolNoProxy protocol. Defaults to http.
usernameNoProxy username.
connectionStringNoProxy URL to check, for example http://user:pass@host:10080.

TDQS

B3.1/5.0
Behavior2/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 states the output (exit IP and location) but fails to disclose behavioral details such as whether the proxy is actually used to make a request, any side effects, error handling, or performance implications. The description is too minimal to be transparent.

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?

The description is a single sentence, efficiently conveying the core purpose. There is no filler or repetition. While it could benefit from additional structure, it is concise.

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?

The tool has 6 parameters with no output schema or annotations. The description only mentions the return value (exit IP and location) but not the format or behavior for different protocols (http, https, socks5). It fails to address error cases or prerequisites, leaving the agent with incomplete context.

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 parameters are individually described. The tool description adds no additional meaning beyond the schema—it does not explain how parameters relate (e.g., connectionString vs. host/port/username/password). Given high coverage, a 3 (baseline) is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Check' and the resource 'proxy connection', and specifies the output: 'exit IP and location'. It effectively distinguishes this tool from siblings like 'create_rotating_proxy_connection' and 'list_static_proxies', which have different purposes.

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 tool versus alternatives. With siblings like 'check_proxy', 'create_rotating_proxy_connection', and 'list_static_proxies', the description could have clarified the appropriate scenario (e.g., testing a specific proxy vs. managing proxy lists), but it does not.

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

create_rotating_proxy_connectionC

Build one copy-paste rotating proxy connection string for a country, state, city, ASN, session, and rotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
asnNoOptional target ASN.
cityNoCity from list_rotating_proxy_locations. Ignored when state is supplied.
typeYesProxy type.
stateNoState or subdivision from list_rotating_proxy_locations. Wins over city.
countryYes2-letter country code, for example US.
sessionNoOptional sticky session id.
protocolNoProxy protocol. Defaults to http.
rotationNo-1 for each request, 0 for sticky, or interval minutes.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states the tool 'builds' a string, but does not disclose whether the string is returned, requires authentication, or has any side effects. Minimal behavioral insight.

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?

Single sentence, front-loaded with key information. No fluff, but could be more structured (e.g., bullet points).

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?

Tool has 8 parameters and no output schema. Description is very brief; does not explain return value (presumably a string) or how rotation options work. Needs more detail for completeness.

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 the schema already documents parameters. The description adds the context of 'copy-paste' and lists attributes, but adds little beyond the schema. Baseline 3 is appropriate.

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 clearly states the tool's purpose: 'Build one copy-paste rotating proxy connection string' with explicit attributes. It is specific but does not differentiate from siblings like list_rotating_proxy_locations.

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 tool versus alternatives, no prerequisites or exclusions mentioned. Siblings include list_rotating_proxy_locations, but no context is provided.

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

fetch_web_dataA

Fetch a public web page through Floppydata Web Data. Use this when the agent needs the HTML of a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget page URL to fetch through Web Data.
cityNoOptional exit city.
difficultyNoOptional access difficulty pool.
countryCodeNoOptional 2-letter exit country code, for example US.
cacheMaxAgeDaysNoOptional maximum age of cached content in days.

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits like rate limits, authentication needs, error handling, redirect behavior, or content size limits. For a fetch tool, critical gaps remain.

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

Conciseness5/5

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

Two concise sentences, front-loaded with action and usage. No irrelevant information.

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?

No output schema and description lacks details on return format, error behaviors, or limitations. With 5 parameters and no annotations, more context is needed for correct invocation.

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%; all 5 parameters have descriptions. The tool description adds no extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states the action 'Fetch', the resource 'public web page', and specifies output as 'HTML of a URL'. Distinguishes well from sibling proxy- and account-focused tools.

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

Usage Guidelines4/5

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

Explicitly states 'Use this when the agent needs the HTML of a URL.' Provides clear context but lacks explicit when-not-to-use or alternative suggestions.

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

get_account_balancesA

Get account balances for Web Data, rotating proxy traffic, and static proxies.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoOptional product filter.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It states 'Get' which implies a read-only operation, but does not disclose any potential side effects, authentication requirements, rate limits, or behavior when the optional product filter is omitted.

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

Conciseness5/5

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

The description is a single sentence that directly states the tool's action and scope. No filler or redundancy; every word earns its place.

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

Completeness4/5

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

Given the tool's simplicity (single optional parameter, no output schema), the description provides sufficient context for an AI agent to understand its purpose. However, it could be improved by briefly noting that no balances are returned if the filter yields no results.

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

Parameters4/5

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

Schema description coverage is 100% with 'Optional product filter.' The description adds value by explicitly listing the product types (Web Data, rotating proxy traffic, static proxies) which matches the enum values and clarifies the context of the balances.

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

Purpose5/5

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

The description clearly states the verb 'Get' and specifies the resource 'account balances' for three distinct product types. It immediately distinguishes itself from sibling tools like 'list_static_proxies' or 'fetch_web_data' by focusing purely on balance retrieval.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies usage for retrieving balances, but does not mention scenarios where it should or shouldn't be used, nor does it reference alternative tools.

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

get_account_usageB

Get account usage rollups. Responses include yesterday, last7Days, last30Days, optional requestedRange, and lastUpdatedAt.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoOptional end date or UTC date-time.
fromNoOptional start date or UTC date-time.
poolIdNoOptional pool id filter.
productNoOptional product filter.
proxyTypeNoOptional rotating proxy type filter.
countryCodeNoOptional 2-letter country code filter.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden of behavioral disclosure. It only lists returned fields but does not mention read-only nature, authentication needs, or what happens with invalid parameters.

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 dense sentences effectively front-load the purpose and key response fields. Slightly more detail on parameter effects would not harm conciseness.

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?

Given no output schema, the description partially explains return fields but omits details on 'requestedRange' behavior and how filters affect results. Adequate for simple usage but incomplete for complex queries.

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 coverage is 100%, so the schema already documents all 6 parameters. The description adds no additional meaning beyond the schema for parameters, meeting the baseline of 3.

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

Purpose5/5

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

Description clearly states the tool's action 'Get account usage rollups' and lists specific response fields. The tool name and context differentiate it from proxy management siblings.

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

Usage Guidelines3/5

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

No explicit guidance on when to use vs. alternatives. The purpose is implicit from the tool name and description, but no when-not-to or prerequisite info is provided.

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

list_rotating_proxy_locationsA

List countries, cities, and states available for rotating proxy connection generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesProxy type to list locations for.

TDQS

A3.5/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 implies a read operation and associates locations with proxy types, but does not disclose aspects like coverage, staleness, or side effects. It is adequate but not rich.

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

Conciseness5/5

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

Single sentence, no wasted words. Front-loaded with the verb and resource, perfectly concise.

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?

Simple tool with one parameter and no output schema. The description covers the basic purpose but does not specify output format (e.g., array of objects with country, city, state) or any limitations. Adequate but could be more complete.

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 coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; it does not relate the 'type' parameter to the listed locations explicitly. No extra value added.

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

Purpose5/5

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

The description clearly states the tool lists countries, cities, and states for rotating proxy connection generation. The verb 'list' and resource 'locations' are specific, and it distinguishes from siblings like list_static_proxies and create_rotating_proxy_connection.

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 tool versus alternatives like list_static_proxies or check_proxy. No mention of prerequisites, context, or exclusions.

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

list_static_proxiesA

List static proxies owned by the account, including each proxy connectionString.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations exist, so the description should disclose behaviors. It only says 'list' and 'includes connectionString' but does not mention read-only nature, rate limits, or whether all proxies are returned. The term 'owned by the account' implies filtering but is insufficient.

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

Conciseness5/5

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

Single sentence that conveys the essential information without any superfluous words. Highly front-loaded and efficient.

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

Completeness4/5

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

For a parameterless list tool with no output schema, the description states the resource and what is included (connectionString). It could mention pagination or format but is adequate for a simple list.

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

Parameters4/5

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

There are zero parameters, so 100% schema coverage. The description adds that connectionString is included, which is helpful. Baseline 4 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'static proxies owned by the account', specifying that it includes connectionString. It easily distinguishes from siblings like list_rotating_proxy_locations.

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 is provided on when to use this tool vs alternatives, or prerequisites. The description only states what it does, not when it's appropriate.

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. 7 tool updatesv0.1.0
    • First observedcheck_proxy
    • First observedcreate_rotating_proxy_connection
    • First observedfetch_web_data
    • First observedget_account_balances
    • First observedget_account_usage
    • First observedlist_rotating_proxy_locations
    • First observedlist_static_proxies

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct action: creating proxies, checking proxies, listing static proxies, account balances, account usage, fetching web data, and listing locations. No overlaps.

Naming Consistency5/5

All tools use consistent snake_case verb_noun pattern (create, check, list, get, fetch). No mixing of conventions.

Tool Count5/5

7 tools is well-scoped for a proxy/web data service. Not too few and not too many.

Completeness4/5

Covers core proxy and web data operations. Minor gaps like no update/delete proxy but core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Scrape any webpage and return clean markdown, HTML, or structured JSON. Bypasses anti-bot protection, renders JavaScript (React/Vue/Angular), supports premium residential proxies and CSS extraction. Works with any MCP client — no local install required.
    1
    407 npm
    19
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables scraping and fetching websites with protection handling like Cloudflare and captchas, via an MCP interface.
    3 npm
    1
    Apache 2.0