nodemaven-mcp
Officialnodemaven-mcp
An MCP server for NodeMaven residential proxies. It lets an AI assistant build proxy strings with geo-targeting and sticky sessions, check that a proxy connects and where it exits, look up locations, and read traffic usage.
It is read-only: nothing in your account is created, changed or deleted.
Tools
Tool | What it does |
| Proxy string for a country, region, city or ISP, with an optional sticky session and its lifetime. HTTP or SOCKS5. |
| Opens one connection through the proxy and returns the status, the exit IP and the time it took. |
| Countries, regions, cities and ISPs available for targeting, with the codes |
| Remaining traffic, subscription status, whether traffic is frozen. |
| Traffic used over time. |
| Domains reached through the proxy, with traffic per domain. |
| Sub-users with their usage and limits. |
Related MCP server: Proxytline MCP
Setup
You need an API key from the NodeMaven dashboard. The proxy username and password are read from the account through that key, so nothing else is required.
Claude Desktop (claude_desktop_config.json), Cursor and other MCP clients:
{
"mcpServers": {
"nodemaven": {
"command": "uvx",
"args": ["nodemaven-mcp"],
"env": { "NODEMAVEN_APIKEY": "your-api-key" }
}
}
}Without uv: pip install nodemaven-mcp and use "command": "nodemaven-mcp".
Variable | |
| Required. |
| Optional. Proxy credentials to use instead of the account's own, e.g. a sub-user. |
|
|
Credentials
Tool results go into the model's context and usually into the chat history, so the server keeps secrets out of them:
proxy_urlreturns the password as<PROXY_PASSWORD>unlessNODEMAVEN_MCP_REVEAL_PASSWORD=1is set.API responses are reduced to a fixed list of fields; proxy passwords and the account email are never returned.
Development
uv sync
uv run pytestBuilt on the nodemaven Python SDK.
License
MIT
Available Tools
7 toolsaccount_statusBRead-only
Remaining traffic (bytes), subscription status and whether traffic is frozen.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful detail that results include a frozen flag and subscription state, but nothing about auth, rate limits, or 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?
A single compact sentence with no filler, and the most important payload (remaining traffic) is front-loaded. Slightly list-like but efficient.
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?
An output schema exists, so return-value documentation is not required, and the description covers the conceptual payload. However, for a query tool sitting among several traffic-related siblings it gives no routing context, leaving a meaningful gap.
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?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies.
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?
Names the concrete outputs (remaining traffic in bytes, subscription status, frozen flag), so an agent knows what resource it reports on. It doesn't differentiate itself from siblings like traffic_stats, so it falls short of a 5.
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?
There is no guidance on when to call this versus traffic_stats or other siblings, and no stated preconditions. Usage must be inferred entirely from the description's content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_proxyARead-only
Open one connection through the proxy and report the result.
Sends no traffic through the tunnel. Returns the gateway status, the exit IP when the gateway reports it, and how long the connection took. A 407 can mean a wrong parameter value as well as wrong credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| isp | No | ||
| ttl | No | ||
| city | No | ||
| filter | No | ||
| region | No | ||
| country | No | ||
| session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds real value beyond that: it discloses that no traffic traverses the tunnel, that the return includes gateway status, exit IP (conditionally), and connection duration, and warns that a 407 may indicate a bad parameter rather than bad credentials. That last point is a non-obvious behavioral caveat.
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?
Three short sentences, front-loaded with the action, followed by the traffic/return behavior and the diagnostic caveat. No filler or repetition.
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?
An output schema exists, so return-value detail is not strictly required, and the description still helpfully previews what comes back. The significant gap is the seven completely undocumented optional parameters for a tool that is parameter-sensitive (per the 407 note). An agent could call it, but not confidently steer it.
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 0% across 7 parameters (isp, ttl, city, filter, region, country, session_id), so the description carries the full burden and largely fails. The only nod to parameters is 'A 407 can mean a wrong parameter value,' which hints they affect routing/auth but explains none of their meaning, formats, or interactions.
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?
States a specific verb and resource: 'Open one connection through the proxy and report the result.' Combined with the second sentence ('Sends no traffic through the tunnel'), the scope is clear and distinguishable from sibling tools like proxy_url or traffic_stats. It doesn't explicitly name a sibling to differentiate, which keeps it out of the top band.
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 line 'Sends no traffic through the tunnel' implies this is a lightweight connectivity/diagnostic check rather than a data-moving call, which is useful implied usage. However, there is no explicit statement of when to prefer this over proxy_url, list_locations, or account_status, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_locationsARead-only
List locations available for targeting, with the codes proxy_url takes.
regions need country_code; cities and isps can be narrowed by country_code
and region_code. At most 100 rows per call: when next_offset is returned,
call again with offset=next_offset for the rest.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| limit | No | ||
| offset | No | ||
| region_code | No | ||
| country_code | No | ||
| connection_type | No | residential |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=true, destructiveHint=false), so the bar is lower, and the description adds genuinely useful behavior: the 100-row cap and the next_offset/offset continuation loop. It does not mention auth, rate limits, or errors beyond pagination.
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?
Three short sentences, front-loaded with the purpose before the parameter rules and pagination mechanics. Nearly every clause earns its place, though the pagination sentence is slightly terse relative to its importance.
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?
An output schema exists, so return values needn't be explained, and the description still helpfully notes next_offset. For a 6-parameter tool it is largely complete, but the omission of limit and connection_type leaves a small gap.
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 0%, so the description must carry the load. It explains the meaning of country_code and region_code per kind and the offset continuation, but never mentions limit or connection_type (an enum with residential/mobile), leaving two parameters undocumented.
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?
States a specific verb+resource ('List locations available for targeting') and immediately frames the purpose: producing the codes that proxy_url consumes. This explicitly ties it to the sibling proxy_url and distinguishes it from unrelated siblings like traffic_stats or top_domains.
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?
Gives hierarchy-aware guidance: 'regions need country_code; cities and isps can be narrowed by country_code and region_code.' This tells the agent which parameters matter for which kind. It stops short of naming alternative tools or stating when not to call it, so it lands at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sub_usersARead-only
Sub-users of the account with their traffic usage and limits. No passwords.
Paged from page 1. When next_page is returned, call again with it for the
rest; a page past the end comes back empty.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, so the safety profile is covered. The description adds meaningful context beyond that: the pagination contract (start at 1, resume via next_page, empty result past the end) and the security-relevant guarantee that no passwords are returned.
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?
Very short and front-loaded: the resource and payload come first, then the pagination behavior. Both sentences carry information, though the stray line break mid-sentence is cosmetic rather than wasteful.
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?
An output schema exists, so return values need not be explained, and the description covers the one non-obvious interaction detail an agent needs (how to paginate). For a single-optional-parameter read tool, this is close to complete, with only sibling differentiation left implicit.
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 0% and there is one parameter (page), so the description carries some burden. 'Paged from page 1' documents the starting convention, which is the only real semantic addition; it doesn't clarify whether page is 1-based offset semantics beyond the default, and next_page is referenced without being a declared input.
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?
Identifies the specific resource (sub-users of the account) and the payload (traffic usage and limits), and adds the exclusion 'No passwords.' The verb is only implied by the tool name, but the resource is clearly distinct from siblings like traffic_stats, top_domains, and proxy_url.
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?
Gives explicit operational guidance for pagination: start at page 1, and when next_page is returned call again with it; a page past the end comes back empty. However, it offers no guidance on when to prefer this tool over siblings such as traffic_stats, which is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
proxy_urlARead-only
Build a NodeMaven proxy string.
Targeting goes into the username. Without session_id every request gets a
new exit IP; with session_id the same exit is kept for ttl (e.g. "10m",
"1h", "24h"). country is a two-letter code; region, city and isp take the
codes from list_locations. filter is the IP quality filter, e.g. "medium".
The password is a placeholder unless the server allows revealing it.
| Name | Required | Description | Default |
|---|---|---|---|
| isp | No | ||
| ttl | No | ||
| city | No | ||
| filter | No | ||
| region | No | ||
| country | No | ||
| protocol | No | http | |
| session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/destructive=false, so the description's added value is real: it explains sticky-vs-rotating exit IP behavior tied to session_id/ttl, and discloses that the password is a placeholder unless the server allows revealing it. That is meaningful behavioral context beyond the 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?
Front-loads the core purpose, then layers parameter semantics compactly with no filler. Slightly dense but every sentence earns its place.
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?
An output schema exists so return values need no explanation, and the description covers behavior and parameter meaning well. It omits that all 8 parameters are optional and the protocol parameter's meaning, which are minor gaps.
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 0%, so the description carries the full burden and largely meets it: it documents session_id, ttl (with example formats), country format, region/city/isp sourcing from list_locations, and filter. Only protocol is left unexplained, though its enum and default make it self-evident.
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?
States a specific verb+resource ('Build a NodeMaven proxy string'), which is distinguishable from siblings like check_proxy and list_locations. It does not explicitly name those siblings to route the agent, but the purpose is unambiguous.
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?
It implies usage by pointing to list_locations for country/region/city/isp codes and explaining the session_id/ttl tradeoff, but it never says when to use this tool versus check_proxy or account_status, nor states prerequisites or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_domainsBRead-only
Domains reached through the proxy, largest traffic first, with bytes and request counts.
Pass period, or start and end as dd-mm-yyyy (not ISO). Defaults to today.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| limit | No | ||
| start | No | ||
| period | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the default time window and the non-ISO date format constraint, which is genuine behavioral context, but says nothing about pagination, result size, or how limit interacts with the ranking.
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?
Two tight sentences: the first front-loads what the tool returns, the second covers the time-window inputs and default. No filler, though the trailing blank line and the 'Pass period, or...' phrasing is slightly terse rather than polished.
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?
An output schema exists, so return values need not be described, and the time-window inputs are covered. Still missing for a 4-parameter tool: the meaning of limit, the enum semantics of period, and precedence when both period and start/end are supplied.
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 0%, so the description carries the burden and it does explain period, start and end, including the dd-mm-yyyy format warning. But it ignores the limit parameter entirely and never enumerates the period values (today, hours24) that the schema only exposes as a bare enum.
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?
States the resource clearly ('Domains reached through the proxy') and the ordering/aggregation ('largest traffic first, with bytes and request counts'), so the agent knows exactly what comes back. It does not explicitly differentiate itself from siblings like traffic_stats or proxy_url, but the scope is unambiguous.
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?
It explains how to supply a time window (period, or start/end as dd-mm-yyyy) and notes the default is today, which is useful call-site guidance. However, it never says when to choose this tool over traffic_stats or proxy_url, and it doesn't say whether period and start/end are mutually exclusive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
traffic_statsBRead-only
Traffic used over time, as parallel labels and data arrays.
Pass period, or start and end as dd-mm-yyyy (not ISO). Defaults to today.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | ||
| period | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavioral context: the output is 'parallel labels and data arrays' and dates must be dd-mm-yyyy rather than ISO. This is a real addition beyond annotations, though it does not touch auth, rate limits or error behavior.
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?
Two short sentences with no filler; the purpose is front-loaded before the parameter notes. The 'parallel labels and data arrays' phrasing is slightly cryptic, which costs a point.
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?
An output schema exists, so return values need not be described. With three parameters at 0% schema coverage, the description covers the date format and default but leaves the period enum values and start/end pairing rules to inference, which is a clear gap for an agent invoking the tool.
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 0%, so the description must carry the parameter burden. It documents the start/end format ('dd-mm-yyyy (not ISO)') and the default ('today'), but never names the allowed period values (today, hours24) or notes that start/end are the alternative to period. It compensates partially, not fully.
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 states a specific resource and scope: 'Traffic used over time, as parallel labels and data arrays.' An agent can tell this returns time-series bandwidth data. However, it does not distinguish this from siblings like account_status or top_domains, which may also touch usage figures, so it falls short of a 5.
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 only usage direction is parameter-shape guidance ('Pass period, or start and end... Defaults to today'). There is no statement of when this tool is the right choice versus alternatives, nor any when-not condition, so the guidance dimension is largely unaddressed.
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.
7 tool updates
v0.1.0- First observed
account_status - First observed
check_proxy - First observed
list_locations - First observed
list_sub_users - First observed
proxy_url - First observed
top_domains - First observed
traffic_stats
TDQS
Scored across 7 tools
Each tool targets a distinct concern: building a proxy string (proxy_url), validating a connection (check_proxy), exploring targeting options (list_locations), and reporting on account/traffic/sub-user data. proxy_url and check_proxy are related but clearly separated by verb and purpose, so misselection is unlikely.
The set mixes verb-first names (check_proxy, list_locations, list_sub_users) with noun-phrase names (proxy_url, account_status, traffic_stats, top_domains). All are readable snake_case, but the pattern is not predictable.
Seven tools is well-scoped for a proxy service: connection setup, validation, location lookup, and three reporting surfaces plus sub-user listing. No tool feels redundant.
Core lifecycle is covered — build a proxy, test it, discover locations, and inspect account/traffic/sub-user data. Minor gap: sub-users are read-only, with no tool to create, update, or remove them, and no explicit session management beyond proxy_url parameters.
Maintenance
Related MCP Connectors
Free remote MCP server for fetching public web pages through a rotating proxy pool.
- IPMuskOAuthcom.ipmusk
Residential and static proxies: check usage, build proxy URLs, open tickets, get payment links.
Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.
Create and manage residential and mobile proxies: geo targeting, usage limits, spend reports.
Related MCP Servers
- AlicenseAqualityDmaintenanceRead-only MCP server for Akamai CDN that enables searching properties, browsing EdgeWorker code, querying DNS zones, inspecting network lists, and translating error codes via natural language.161MIT
- FlicenseAqualityDmaintenanceMCP server that wraps the Proxyline proxy provider API, exposing all methods as MCP tools for AI assistants. Enables managing proxies, orders, countries, IPs, balance, and tags through natural language.118 npm-
- AlicenseAqualityDmaintenanceMCP server that lets AI agents route web requests through NodeMaven residential and mobile proxies, with tools for geo-targeted fetching, proxy checking, and location/usage queries.5MIT
- AlicenseAqualityBmaintenanceRead-only MCP server to list your SkyNode servers and check their status (IP, state, region, expiry). It does not modify or control servers.23 npmMIT