Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Create and manage residential and mobile proxies: geo targeting, usage limits, spend reports.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http 2extract https://mcp.2extract.com/mcp --header 'Authorization: Bearer {api_key}'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"2extract": {
"url": "https://mcp.2extract.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"2extract": {
"type": "http",
"url": "https://mcp.2extract.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
buildConnectionStringBuild a ready-to-use username and connection string for a proxy resource. The tool retrieves the proxy credential and account prefix automatically, validates geo, network, and session parameters, and encodes them in the correct order. Returns the host, port, username, password, a
createProxyResourceCreate a new residential or mobile proxy resource on the account. Check getAccountBalance and require can_create_proxy to be true; usage is billed according to the selected plan (tariff_id from listProxyPlans). The name must be unique on the account and cannot be changed later. L
deactivateProxyResourceDeactivate a proxy resource, stopping its traffic without deleting it. Reactivate later with updateProxyResource (status active). Use deleteProxyResource to permanently remove instead. Returns the updated proxy with status inactive. Response fields: docs://proxies/updateProxyReso
deleteProxyResourcePermanently delete a proxy resource. This action is irreversible — the proxy and all its settings will be removed. User confirmation is required before proceeding. To stop traffic but keep the proxy for later, use deactivateProxyResource instead. Returns a snapshot of the deleted
getAccountBalanceGet the current account balance, overdraft limit, and proxy username prefix. Returns funds_available in USD, can_create_proxy (whether proxy creation is allowed), and the prefix that starts every proxy username. Overdraft-enabled accounts also return credit_limit in USD and may r
getAccountTrafficUsageGet daily traffic and spend for the account over a date range, broken down by proxy. Returns, for each date with traffic, the bytes downloaded and uploaded and the USD spent per proxy resource ID; dates with no traffic are omitted. Pass user_proxy_list_id to report on one proxy.
getProxyResourceGet full details of a specific proxy resource, including IP/host whitelists not present in listProxyResources. Returns the proxy with its password, IP whitelist, and target host whitelist. Response fields: docs://proxies/getProxyResource.
listAccountBalanceHistoryGet balance transaction history for the account over a date range. Returns paginated ledger entries (top-ups, debits, refunds) with signed USD amount, source, and timestamp. For the current balance, use getAccountBalance. Response fields: docs://account/listAccountBalanceHistory.
listGeoCountriesList all available countries for proxy geo targeting, optionally filtered by name. Returns each country's numeric id (for createProxyResource countries) and ISO code (for buildConnectionString country_code). Response fields: docs://geo/listGeoCountries.
listProxyPlansList tariff plans for a proxy type. Use the numeric id when calling createProxyResource. Returns each plan's id, title, price, currency, and traffic type (package or pay as you go). Response fields: docs://plans/listProxyPlans.
listProxyResourcesList proxy resources in the account, with optional filters by name and status, and tariff, limits, traffic, and spend detail. Returns paginated proxies without passwords, plus totals for traffic and spend across the whole filtered set. Use getProxyResource for one proxy's passwor
regenerateProxyPasswordGenerate a new password for a proxy resource. The old password is immediately invalidated — any running traffic using it will be interrupted. User confirmation is required before proceeding. Returns the complete proxy with the new password. Response fields: docs://proxies/regener
searchGeoCitiesSearch cities within a country and optional region (region_code from searchGeoRegions). Use search to narrow results — city lists can be large. Returns each city's extract_parameter, the value for buildConnectionString's city. Response fields: docs://geo/searchGeoCities.
searchGeoISPSearch the ISP catalog for mobile ISP targeting (mobile proxies only). Always resolve the code through this tool — never accept a real-world ASN number as a substitute. Returns each carrier's name and catalog code, the value for buildConnectionString's isp. Response fields: docs:
searchGeoRegionsSearch regions/states within a country, identified by its ISO country_code (from listGeoCountries). Returns each region's extract_parameter, the value for buildConnectionString's state, and its numeric code, used as searchGeoCities' region_code. Response fields: docs://geo/search
searchGeoZipsSearch ZIP codes within a country, for use in proxy username params. Returns ZIP values to pass as buildConnectionString's zip; ZIP targeting cannot be combined with state or city. Response fields: docs://geo/searchGeoZips.
setProxyIpWhitelistReplace the IP whitelist for a proxy resource, restricting authentication to the given IPs. This controls who can authenticate; to control which domains the proxy can reach, use setProxyTargetHosts. Returns the updated proxy with the applied IP whitelist. Response fields: docs://
setProxyLimitsSet the traffic or spending limit on a proxy resource to control costs. A proxy has one limit: this call replaces any existing limit, and total_limit 0 removes it. The counter resets daily or monthly according to time_period. Returns the updated proxy with the applied limits. To
setProxyTargetHostsReplace the target host whitelist for a proxy resource, restricting its traffic to the given domains. This controls where the proxy can connect; to control who can authenticate, use setProxyIpWhitelist. Returns the updated proxy with the applied target host whitelist. Response fi
updateProxyResourceUpdate description, countries, status, IP whitelist, or limits in one call. Name and proxy_type are not mutable through this MCP tool. For single-field changes, prefer setProxyIpWhitelist, setProxyLimits, or deactivateProxyResource. Returns the complete updated proxy without its
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过域名 2extract.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 1043 毫秒内响应(HTTP 200)
无需登录
已读取 20 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.2)于18天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, aamio rendezvous
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Meet an agent you have not met, exchange messages that expire, and prove it happened. No account.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
VS Code asks for the API key on install and does not store it in the config. Cursor installs with a placeholder: replace 2xt_your_api_key in mcp.json with your key.
Remote Model Context Protocol server for 2extract. It lets an AI agent create and manage residential and mobile proxies, pick geo targeting down to city, ZIP or carrier, set traffic and spend limits, and report on usage and cost.
This is a hosted server. There is nothing to install or run locally: your MCP client connects to the URL below with your 2extract API key.
| Endpoint | https://mcp.2extract.com/mcp |
| Transport | Streamable HTTP |
| Auth | Authorization: Bearer 2xt_... (2extract API key) |
proxies:read, proxies:write, balance:read, stats:read, geo:read. Write scopes do not include read access, so most workflows need both proxies:read and proxies:write.A read-only key (no proxies:write) is enough for reporting and lookups.
claude mcp add --transport http 2extract https://mcp.2extract.com/mcp \
--header "Authorization: Bearer 2xt_your_api_key"
The key is read from the EXTRACT_API_KEY environment variable; Codex adds Bearer itself:
export EXTRACT_API_KEY=2xt_your_api_key
codex mcp add 2extract --url https://mcp.2extract.com/mcp --bearer-token-env-var EXTRACT_API_KEY
Or edit ~/.codex/config.toml (or .codex/config.toml in a trusted project):
[mcp_servers.2extract]
url = "https://mcp.2extract.com/mcp" bearer_token_env_var = "EXTRACT_API_KEY"
gemini mcp add -s user --transport http \
--header "Authorization: Bearer 2xt_your_api_key" \ 2extract https://mcp.2extract.com/mcp
Or edit ~/.gemini/settings.json (or .gemini/settings.json in a project):
{
"mcpServers": { "2extract": { "httpUrl": "https://mcp.2extract.com/mcp", "headers": { "Authorization": "Bearer 2xt_your_api_key" } } } }
opencode.json in your project (or ~/.config/opencode/opencode.json). The key is read from the EXTRACT_API_KEY environment variable:
{
"$schema": "https://opencode.ai/config.json", "mcp": { "2extract": { "type": "remote", "url": "https://mcp.2extract.com/mcp", "enabled": true, "headers": { "Authorization": "Bearer {env:EXTRACT_API_KEY}" } } } }
claude_desktop_config.json:
{
"mcpServers": { "2extract": { "type": "http", "url": "https://mcp.2extract.com/mcp", "headers": { "Authorization": "Bearer 2xt_your_api_key" } } } }
~/.cursor/mcp.json or .cursor/mcp.json:
{
"mcpServers": { "2extract": { "url": "https://mcp.2extract.com/mcp", "headers": { "Authorization": "Bearer 2xt_your_api_key" } } } }
.vscode/mcp.json (the key is requested on first use and not stored in the file):
{
"inputs": [ { "type": "promptString", "id": "2extract-api-key", "description": "2extract API key", "password": true } ], "servers": { "2extract": { "type": "http", "url": "https://mcp.2extract.com/mcp", "headers": { "Authorization": "Bearer ${input:2extract-api-key}" } } } }
Open the Cline panel, click MCP Servers, then Configure MCP Servers, and add to cline_mcp_settings.json:
{
"mcpServers": { "2extract": { "type": "streamableHttp", "url": "https://mcp.2extract.com/mcp", "headers": { "Authorization": "Bearer 2xt_your_api_key" }, "disabled": false } } }
Keep "type": "streamableHttp": without it Cline falls back to the older SSE transport.
Any client that supports remote MCP servers works. Give it the endpoint URL, the Streamable HTTP transport and the Authorization header.
| Tool | What it does | Scope |
|---|---|---|
getAccountBalance | Available funds, whether a new proxy can be created, and the proxy username prefix | balance:read |
getAccountTrafficUsage | Traffic and spend over a period, for the account or one proxy | stats:read |
listAccountBalanceHistory | Deposits and charges over a period | stats:read |
| Tool | What it does | Scope |
|---|---|---|
listGeoCountries | Countries available for targeting | geo:read |
searchGeoRegions | Regions and states within a country | geo:read |
searchGeoCities | Cities within a country or region | geo:read |
searchGeoZips | ZIP and postal codes within a country | geo:read |
searchGeoISP | Mobile carriers for ISP targeting | geo:read |
| Tool | What it does | Scope |
|---|---|---|
listProxyPlans | Available plans and their prices | proxies:read |
| Tool | What it does | Scope |
|---|---|---|
listProxyResources | Every proxy on the account, with traffic and spend | proxies:read |
getProxyResource | Full detail for one proxy | proxies:read |
createProxyResource | Create a proxy (billable) | proxies:write |
updateProxyResource | Change description, status, geo, whitelist or limits | proxies:write |
deactivateProxyResource | Stop traffic without deleting the proxy | proxies:write |
deleteProxyResource | Permanently remove a proxy (asks for confirmation) | proxies:write |
regenerateProxyPassword | Issue a new password (asks for confirmation) | proxies:write |
setProxyLimits | Cap traffic or spend per day or month | proxies:write |
setProxyIpWhitelist | Restrict which IP addresses can use the proxy | proxies:write |
setProxyTargetHosts | Restrict which domains the proxy can reach (wildcards like *.example.com) | proxies:write |
buildConnectionString | Ready-to-use username and connection string with geo, carrier and sticky-session parameters | proxies:read, balance:read |
Confirmation for destructive tools happens in your client. If the client does not ask, any key with proxies:write can run them, so scope keys accordingly.
| Prompt | Arguments | What it does |
|---|---|---|
create-proxy-resource | purpose, proxy_type?, country? | Creates a proxy for a stated job and returns a connection string |
build-connection-string | proxy_id?, purpose? | Builds a connection string for an existing proxy |
monthly-cost-report | period | Traffic and spend per proxy for a period, with outliers flagged. Read-only |
cleanup-unused-proxies | none | Finds proxies with no traffic in 30 days and deactivates them after you confirm. Never deletes |
serp_us proxy."The server source code is not published. This repository holds the public listing, client configuration examples and the registry manifest (server.json).