In-depth architectural comparison of the Affset and Hub MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Affset
Developer Tools · Local stdio
Quality: 55/100 (Good) | Auth: No auth required
Hub MCP
Developer Tools · Remote HTTP/SSE
Quality: 77/100 (Great) | Auth: API Key required
Verdict Summary: Choose Affset if you need specialized Developer Tools tools running via a local process. Choose Hub MCP if your workspace requires Developer Tools integration with remote web transport. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Affset when:
You need dedicated capabilities in the Developer Tools domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Run affset from chat: stats, campaigns, zones, payouts, targeting, and team.
Official MCP server to interact with Docker Hub, providing access to repositories, hub search and Docker Hardened Images
Category & Scope
Tools & Capabilities Breakdown
Affset Tools (31)
whoami
Show the tenant this server is bound to: namespace, API base, derived dashboard URL, and (when readable) company / timezone / custom API domain. Read-only.
get_stats
Traffic stats grouped by a dimension (date, campaign, zone, country, sub1–5, advertiser, publisher, …), optionally narrowed with `advertiser_email`/`publisher_email` filters (one user, any group_by). Returns clicks, conversions, CR, payout, media cost and ROI as a table. `paid_only` defaults to tru…
list_campaigns
List campaigns (status / name filter, pagination).
get_campaign
One campaign's full record — every field (untruncated offer URL, exact schedule, budgets/pacing, silent flag, payout goal type) plus its targeting rules and payout rules, in one call.
list_zones
List traffic-source zones (status / name filter, pagination, linked source).
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Affset is categorized under Developer Tools and uses a local stdio subprocess. In contrast, Hub MCP belongs to Developer Tools using remote streaming HTTP/SSE transport. Select Affset when you need capabilities focused on developer tools and Hub MCP when you require tools for developer tools.
List team members (email, role, manager). **Never returns API tokens.
create_team_member
Invite a team member (owner, manager, publisher, advertiser, publisher_manager, advertiser_manager). A scoped manager key can only create its own managed role, self-assigned. Returns the new API key **once** — `list_team` never shows it again. **Dry-run by default**; `confirm: true` to apply.
create_campaign
Create a campaign from an advertiser email, offer URL, geo, payout and name. Defaults: CPA / rate 0, **paused**, global payout rule, and a ready tracking link (linked source template when configured; otherwise `source_click_id={clickid}` + sub placeholders). **Dry-run by default**; `confirm: true`…
set_campaign_status
Run** or **pause** a campaign (`action: "run" \
update_campaign
Partial update (name, offer URL, status, rate, budgets, dates, …). **Dry-run by default**; `confirm: true` to apply. Prefer `set_campaign_status` for run/pause.
create_zone
Create a traffic-source zone (name + optional postback/site/traffic-back URLs, optional `traffic_source_id` link). Always created `active`. **Dry-run by default**; `confirm: true` to apply.
update_zone
Partial update (name, status, URLs, `traffic_source_id`). **Dry-run by default**; `confirm: true` to apply. Pass `null` to clear a URL or unlink the source.
+19 more tools listed on main page
Hub MCP Tools (35)
search
Search repositories and content using Search V4 API
query
Search query parameter (string, required)
architectures
Filter on architectures (string, optional)
badges
Filter by image content type badges (string, optional)
categories
Filter on categories (string, optional)
extension_reviewed
Filter on reviewed extensions (boolean, optional)
from
Number of documents to skip for pagination (number, optional)
images
Filter on image names (string, optional)
operating_systems
Filter on operating systems (string, optional)
order
Change the ordering of results (string, optional)
size
Maximum number of results to return (number, optional)