Singapore Proxy MCP
Use a hosted MCP server to browse the web through a Singapore mobile IP for fetching pages, localized searches, IP rotation, and proxy status checks.
Fetch any URL through a Singapore mobile IP as markdown, text, or HTML
Run Singapore-localized Google searches (gl=sg) with configurable result count
Rotate to a fresh Singapore mobile IP on Singtel/M1 networks
Check current exit IP, carrier, and remaining quota
Use with MCP clients like Claude Desktop, Cursor, Cline, Windsurf, or native remote MCP connectors
Provides tools to perform Singapore-localized Google searches through a Singapore mobile IP.
Singapore Proxy MCP
Browse the web as if you were on a Singapore mobile network. Give Claude, Cursor, Cline, or any MCP agent a real Singapore mobile IP (Singtel and M1 carrier networks) to fetch pages, run Singapore-localized Google searches, and check geo-locked content - something the agent cannot do on its own because it can't set a proxy.
The Singapore web, as your AI sees it.
This is a hosted (remote) MCP server. You don't install or run any code - you point your client at the endpoint with an API key and it works.
Quick start (30 seconds)
Get a key with a free 24-hour trial (10GB): https://singaporemobileproxy.com/client/mcp?utm_source=github&utm_medium=repo&utm_campaign=singapore_proxy_mcp
Add the server to your client:
Claude Desktop / Cursor / Cline / Windsurf (claude_desktop_config.json, ~/.cursor/mcp.json, etc.):
{
"mcpServers": {
"singapore-proxy": {
"command": "npx",
"args": ["-y", "singapore-proxy-mcp"],
"env": { "SMP_API_KEY": "sk_your_key_here" }
}
}
}(singapore-proxy-mcp is a thin launcher around mcp-remote
pointed at the hosted endpoint. If you prefer, you can call mcp-remote directly:
npx -y mcp-remote https://mcp.singaporemobileproxy.com/mcp --header "x-api-key:${SMP_API_KEY}".)
Claude.ai / clients with native remote MCP: add a custom connector for
https://mcp.singaporemobileproxy.com/mcp with header x-api-key: <your key>.
Ask your agent: "use my_proxy_status" - it should report a Singapore mobile exit IP.
Related MCP server: Novada Proxy
Tools
Tool | What it does |
| Fetch a page through a SG mobile IP (markdown / text / html) |
| Singapore-localized Google organic results ( |
| Get a fresh Singapore mobile IP |
| Current exit IP, carrier, remaining quota |
Why a specialist
Global proxy MCP servers (Bright Data, Oxylabs, Apify) are generalists. This one does only Singapore, on dedicated 4G lines on the Singtel and M1 networks. Sites treat those IPs like any other phone on the network, because that's what they are.
Use cases: SERP / SEO / ad verification from a real SG IP, e-commerce and app-store availability + pricing checks in Singapore, scraping SG geo-gated sites for agents, PDPA / localization QA.
Pricing
The key comes with a free 24-hour trial, capped at 10GB, one per email. After that the same key keeps working on a dedicated Singapore mobile proxy: $4 for a day or $13 for a week, or monthly from $40 (see plans). The same proxy works over plain HTTP/SOCKS outside MCP too.
Endpoint
https://mcp.singaporemobileproxy.com/mcp - Streamable HTTP, auth via x-api-key header.
Built on the SingaporeMobileProxy farm. Not affiliated with Anthropic, Google, or any carrier. See PUBLISHING.md for how this server is listed in MCP registries.
Available Tools
4 toolsfetch_urlAInspect
Fetch a URL through a Singapore mobile IP and return its content.
Args:
url: The full http(s) URL to fetch.
format: One of "markdown" (default, clean main content), "text", or "html".
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses the egress path (Singapore mobile IP) and output formats, but omits edge behaviors like redirects, error handling, or failure modes. Still, the core read-only fetch behavior is stated.
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 compact blocks: a one-sentence purpose followed by an Args list. No filler; allowed values and the default are front-loaded with the parameter definitions.
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?
For a simple two-parameter fetch tool, the essentials are present: target, format, and network path. With an output schema available, the lack of explicit return-type detail is acceptable, though examples or error behavior would round it out.
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 coverage is 0%, so the description fully compensates: it defines url as a full http(s) URL and enumerates format values with default and meaning ('clean main content'). Both parameters are semantically clear beyond the bare string types in 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?
States a concrete action ('Fetch a URL') with a distinctive constraint ('through a Singapore mobile IP'), clearly distinguishing it from sibling tools like search_google or rotate_ip. The resource and network context are 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?
No guidance on when to choose this over siblings; it neither names alternatives nor states conditions/exclusions. The Singapore mobile IP hint provides context, but the description does not help an agent decide between fetch_url and search_google for retrieving web content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_proxy_statusAInspect
Show the current Singapore exit IP, carrier, and remaining quota.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. 'Show' clearly indicates a non-mutating read operation, and the listed outputs make the tool's behavior concrete. It could still disclose potential side effects or costs, but none are evident for a status tool.
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 sentence delivers the full purpose with no filler. The main action and outputs are front-loaded and immediately actionable.
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?
For a zero-parameter tool with an output schema, the description sufficiently covers the essential context: what status is being queried, its geographic scope, and the quota aspect. Nothing critical is missing for an agent to invoke it correctly.
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 has zero parameters, so the schema has no parameter semantics to convey. The description focuses on the returned status information, which is the only meaningful semantic content available.
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 uses a specific verb ('Show') and narrows the resource to 'current Singapore exit IP, carrier, and remaining quota.' This is clearly distinct from sibling tools such as fetch_url, rotate_ip, and search_google, which target different operations.
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 a status-check use case but does not explicitly state when to use it versus siblings. Because the sibling tools have obviously different functions, the ambiguity is minimal, yet no explicit when-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_ipAInspect
Request a fresh Singapore mobile IP for the current proxy.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly states the action (requesting a fresh IP) and the specifics (Singapore mobile, for current proxy). Though it doesn't mention side effects like timing or impact on existing connections, the operation is simple and self-explanatory – the behavior is transparent enough for an agent to understand what happens.
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 a single, front-loaded sentence with zero wasted words. It names the action, the specific IP type (Singapore mobile), and the target (current proxy) – all essential information, nothing extraneous.
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 simplicity (no parameters, no annotations, an output schema exists), the description is adequate. It explains the core action and scope. It doesn't mention prerequisites like an active proxy, but that is implied by 'current proxy.' The presence of an output schema likely covers return value details, so nothing critical is missing.
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 has zero parameters and the schema is empty, so there is nothing for the description to add. The baseline for zero parameters is 4, and the description doesn't need to explain any parameter semantics beyond what the empty schema already conveys.
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 clear verb and resource: 'Request a fresh Singapore mobile IP for the current proxy.' It distinguishes from siblings like fetch_url (fetching URLs), my_proxy_status (checking status), and search_google (searching) – none of which involve IP rotation.
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 context is clear: this tool is for rotating the proxy IP. While it doesn't explicitly state when not to use it or mention alternatives, the sibling tool names make the boundary obvious, and the single-purpose nature leaves no ambiguity. It's a clear context without exclusions, but lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_googleBInspect
Run a Singapore-localized Google search (gl=sg) and return organic results.
| Name | Required | Description | Default |
|---|---|---|---|
| num | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does mention localization and organic results, but it omits other behavioral traits such as rate limits, proxy usage, pagination behavior, or any nuance about the result format. For a tool with zero annotation coverage, this is a significant gap.
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 a single sentence that front-loads the core action and scope. Every word contributes: 'Run', 'Singapore-localized', 'Google search', 'gl=sg', 'return organic results'. No fluff or redundancy.
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?
Although an output schema exists, the description is incomplete for a 2-parameter tool: it leaves 'num' unexplained, gives no usage guidance, and provides sparse behavioral context. An agent would need to guess what 'num' means and what limitations the Singapore-localized search might have.
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 schema provides no parameter descriptions. The description does not explain the 'query' or 'num' parameters at all; 'num' (likely result count) is completely opaque. The description adds no value beyond the schema's bare property names.
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 uses a specific verb ('Run') and resource ('Google search'), and adds a clear differentiator: 'Singapore-localized (gl=sg)' and 'return organic results'. This clearly distinguishes it from siblings like fetch_url and rotate_ip, which serve entirely different purposes.
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—when you need Google search results—but does not explicitly state when to use this tool versus alternatives or mention any exclusions. Siblings are clearly different, so the context is implicit rather than explicit, fitting 'implied usage'.
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.
4 tool updates
v1.0.0- First observed
fetch_url - First observed
my_proxy_status - First observed
rotate_ip - First observed
search_google
TDQS
Scored across 4 tools
Each tool targets a distinct operation: fetching arbitrary URLs, running Google searches, rotating the IP, and checking proxy status. There is no overlap between these purposes.
Three tools follow a clear verb_noun pattern: fetch_url, search_google, rotate_ip. my_proxy_status breaks the pattern and would be more consistent as get_proxy_status, but the overall naming is still predictable.
Four tools is well-scoped for a narrow proxy-focused server. Each tool earns its place without redundancy or unnecessary bloat.
The server covers the core proxy workflow: fetch content, search the web, rotate the IP, and inspect status. No obvious missing operations are apparent for its stated purpose.
Maintenance
Related MCP Connectors
Browse and inspect sites in your own Kitsuvo browser through an opt-in authenticated relay.
191Check an IP or your own network exit before using ChatGPT, Claude, Gemini or Meta Muse.
Dedicated static outbound IPv4 over WireGuard. Free 7-day trial, no card, no sales call.
Buy and manage residential, mobile and datacenter proxies in 170+ countries, prepaid per GB
Related MCP Servers
- AlicenseAqualityDmaintenanceRoutes web requests through 175M+ residential IPs across 195+ countries, enabling AI to bypass geo-restrictions and anti-bot systems.448 npm1MIT

Novada Proxyofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to route HTTP requests through millions of real residential IPs, bypassing anti-bot systems and geo-targeting by country or city.4MIT- AlicenseNot gradedqualityAmaintenancePlaywright browser MCP for coding agents working behind a full-tunnel VPN. The tunnel stays up so the agent keeps reaching its API, while the browser's own traffic egresses through your real ISP — for services that reject the tunnel's exit IP: domestic APIs, payment and SMS gateways, bank endpoints. Per-socket binding plus a LAN-bound proxy, with per-host routing rules so you choose which hosts go37 npm4MIT
- AlicenseBqualityCmaintenanceEnables fetching public HTTP(S) pages through DataImpulse residential proxies with country, city, and session targeting, plus an exit IP check tool. Includes best-effort SSRF safeguards and response size limits for safe bounded access.220MIT