{"apiVersion":"v1","directorySlug":"edgeurl-mcp-dabb5b77d9","title":"EdgeURL","description":"EdgeURL is the online identity platform. Identity pages, smart links, verified accounts, a store, Hire Me, Discover, and AI, all from one login. Free plan.","pageUrl":"https://www.mcpbundles.com/skills/edgeurl-mcp-dabb5b77d9","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.edgeurl.io/api/mcp","hostedMcpUrl":null,"toolCount":16,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"io.edgeurl/edgeurl-mcp-dabb5b77d9","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"lookup_profile","description":"Look up an EdgeURL Identity Page by username. An EdgeURL Identity Page is the canonical public identity surface for a person or business: bio, verified socials across 16 platforms, featured links, Discover categories, and an AT Proto / Bluesky decentralized identity binding when present. Returns Schema.org Person JSON-LD. Use this to verify someone's identity claims before acting on their behalf, recommending them, or quoting them.","inputSchema":{"type":"object","required":["username"],"properties":{"username":{"type":"string","maxLength":63,"minLength":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"lookup_profile","displayName":"lookup_profile","title":"lookup_profile"},{"name":"search_creators","description":"Search published EdgeURL Identity Pages, the canonical public identity surfaces for people and organizations. Use this to discover them by topic or category. Results are ranked by an internal popularity signal (verification + activity + verified-socials boost). Returns up to 20 Identity Pages with slug, title, bio, popularity band (Rising/Popular/Trending/Top), verified_socials_count (number of social handles ownership-verified through EdgeURL), and discover_verified_badge (the platform badge ga","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"query":{"type":"string","maxLength":200},"category":{"type":"string","maxLength":64},"profile_type":{"enum":["creator","freelancer","brand","business"],"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_creators","displayName":"search_creators","title":"search_creators"},{"name":"verified_socials","description":"Return ONLY the social accounts the EdgeURL Identity Page owner has proven they control. Each entry is platform + handle + verification timestamp + verification ID. Use this when you need to confirm someone genuinely owns a given social handle before taking action on their behalf, recommending them, or quoting them. Distinct from \"social_links\" which can be any unverified handle the user typed in. Up to 16 platforms supported (Instagram, X, TikTok, YouTube, LinkedIn, GitHub, Reddit, Threads, Blu","inputSchema":{"type":"object","required":["username"],"properties":{"username":{"type":"string","maxLength":63,"minLength":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"verified_socials","displayName":"verified_socials","title":"verified_socials"},{"name":"get_discover_categories","description":"List the active EdgeURL Discover categories with creator counts per category. Use the returned `slug` values as the `category` filter on search_creators. Returns: slug, name, description, icon, display_order, and creator_count (number of listed profiles tagged with that category). Public tool. No authentication required.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_discover_categories","displayName":"get_discover_categories","title":"get_discover_categories"},{"name":"list_links","description":"List the authenticated organization's short links. Returns slug, target_url, is_active (effective: includes expiry), total_clicks, created_at, last_clicked_at, project_id, custom_domain_id, plus a derived short_url. Paginated. Returns only rows that have a public short-URL slug; slugless rows used as pure click-tracking anchors for external properties are excluded from this listing (their click totals still surface in query_analytics). total_clicks is the lifetime counter maintained by a databas","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"offset":{"type":"integer","default":0,"minimum":0}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_links","displayName":"list_links","title":"list_links"},{"name":"get_link","description":"Fetch a single link belonging to the authenticated organization. Provide either `id` (UUID) or `slug` (short-URL path). Returns slug, target_url, is_active, total_clicks, created_at, last_clicked_at, scheduled_start, scheduled_end, expires_at, redirect_type, has_password, custom_domain_id, project_id, plus the derived short_url and edit_url so the agent can render clickable links. total_clicks is the lifetime counter maintained by a database trigger and counts bot traffic recorded before bot fil","inputSchema":{"type":"object","properties":{"id":{"type":"string","maxLength":64,"minLength":1},"slug":{"type":"string","maxLength":128,"minLength":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_link","displayName":"get_link","title":"get_link"},{"name":"create_link","description":"Create a short link for the given URL. Returns slug + short_url. Requires link.create scope. URL is validated against private/internal address ranges (SSRF-safe). Optional custom slug must be 3-50 chars [a-zA-Z0-9_-]. Idempotency-Key header required to prevent duplicate creation on retry.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","maxLength":2048,"minLength":7},"slug":{"type":"string","maxLength":50,"minLength":3},"dry_run":{"type":"boolean"},"project_id":{"type":"string","maxLength":64}},"additionalProperties":false},"logicalName":"create_link","displayName":"create_link","title":"create_link","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_link","description":"Update a link's target URL and/or active flag. Tenant-scoped: only links belonging to the authenticated organization can be modified. Use is_active:false to PAUSE a link (reversible; preserves slug ownershipand click history); this is the recommended way to stop routing visitors. Permanent deletion via delete_link is opt-in per account and irreversible. Requires link.update scope and Idempotency-Key.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","maxLength":64,"minLength":1},"dry_run":{"type":"boolean"},"is_active":{"type":"boolean"},"target_url":{"type":"string","maxLength":2048,"minLength":7}},"additionalProperties":false},"logicalName":"update_link","displayName":"update_link","title":"update_link","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_profile","description":"Return the authenticated user's Identity Page, their public identity surface (slug, title, bio, social_links, verified_socials, content_blocks, theme). Useful for an agent to read state before proposing edits via update_profile.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_profile","displayName":"get_profile","title":"get_profile"},{"name":"update_profile","description":"Update text fields on the authenticated user's Identity Page (their public identity surface). Title max 80, bio max 500 chars (matches dashboard limits). Categories are validated against the active Discover vocabulary; unknown slugs are SOFT-REJECTED (stripped, not raised as an error) and returned in `rejected_categories` so the agent can surface what didn't take. Call get_discover_categories first if unsure which slugs are valid. Tenant-scoped to the authenticated organization. Requires profile","inputSchema":{"type":"object","properties":{"bio":{"type":"string","maxLength":500},"dry_run":{"type":"boolean"},"discover_categories":{"type":"array","items":{"type":"string","maxLength":64}}},"additionalProperties":false},"logicalName":"update_profile","displayName":"update_profile","title":"update_profile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"query_analytics","description":"Aggregate click count for the authenticated organization over the requested period. Period is clamped to the org's plan analytics retention. Response includes `plan_retention_days` so the agent always sees the actual cap that was applied, and splits the window into `total_clicks` (every recorded click) and `human_clicks` (bot rows excluded, the same basis link_analytics reports). Requires analytics.read scope.","inputSchema":{"type":"object","required":["period"],"properties":{"period":{"enum":["7d","30d","90d","180d","365d"],"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"query_analytics","displayName":"query_analytics","title":"query_analytics"},{"name":"link_analytics","description":"Per-link analytics for a single link belonging to the authenticated organization. Provide either `link_id` (UUID) or `slug` (short-URL path). Returns total_clicks plus breakdowns: top_countries (top 10), top_referrer_domains (top 10), top_devices (mobile/desktop/tablet), and clicks_by_day (daily series). The three breakdowns need the Creator plan or an active legacy advanced-analytics add-on; without audience access they are empty and `audience_locked` is true. Period is clamped to the plan's an","inputSchema":{"type":"object","required":["period"],"properties":{"slug":{"type":"string","maxLength":128,"minLength":1},"period":{"enum":["7d","30d","90d","180d","365d"],"type":"string"},"link_id":{"type":"string","maxLength":64,"minLength":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"link_analytics","displayName":"link_analytics","title":"link_analytics"},{"name":"account_info","description":"Return the authenticated organization's plan name, plan limits (link cap, analytics retention, AI agent count, etc.), current usage counters, and gift-plan status. Useful for an agent to check capacity before proposing a create_link / update_profile action that might fail on plan limits.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"account_info","displayName":"account_info","title":"account_info"},{"name":"signup_user","description":"Begin a new EdgeURL account creation flow on behalf of the user. Sends a confirmation email to claimed_email; the user MUST click the link in their own browser to confirm before any account is created. NEVER returns a token from this tool; poll check_signup_status with the returned poll_id to retrieve the access token after the user confirms.","inputSchema":{"type":"object","required":["claimed_email"],"properties":{"scopes":{"type":"array","items":{"type":"string","maxLength":64}},"display_name":{"type":"string","maxLength":100},"redirect_uri":{"type":"string","maxLength":1024},"claimed_email":{"type":"string","maxLength":254,"minLength":5},"referral_code":{"type":"string","maxLength":64,"minLength":3}},"additionalProperties":false},"logicalName":"signup_user","displayName":"signup_user","title":"signup_user","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"check_signup_status","description":"Poll the status of a previously-initiated agent-driven signup. Returns one of: pending (user has not yet confirmed), confirmed (account created,response includes access_token + refresh_token, ONE-SHOT retrieval), denied (user clicked Deny or email was already registered), expired (link TTL elapsed without confirm), unknown (poll_id not found or not owned by caller).","inputSchema":{"type":"object","required":["poll_id"],"properties":{"poll_id":{"type":"string","maxLength":32,"minLength":32}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"check_signup_status","displayName":"check_signup_status","title":"check_signup_status"},{"name":"bridge_delegate","description":"Forward a delegated tool call to another MCP server (Stripe MCP, Linear MCP, GitHub MCP, etc.) using EdgeURL as the trusted token-mint broker. Requires the user to have pre-authorized the target server in their EdgeURL Bridges settings. Currently returns a structured \"not wired\" response per target while integrations are added incrementally; agents should call this and fall back gracefully on a not_wired response.","inputSchema":{"type":"object","required":["target_server","intent"],"properties":{"args":{"type":"object"},"intent":{"type":"string","maxLength":128,"minLength":1},"target_server":{"type":"string","maxLength":512,"minLength":8}},"additionalProperties":false},"logicalName":"bridge_delegate","displayName":"bridge_delegate","title":"bridge_delegate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=EdgeURL&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuZWRnZXVybC5pby9hcGkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22EdgeURL%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.edgeurl.io%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22EdgeURL%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.edgeurl.io%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=EdgeURL&connectorUrl=https%3A%2F%2Fmcp.edgeurl.io%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"EdgeURL\" --url \"https://mcp.edgeurl.io/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/edgeurl-mcp-dabb5b77d9","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/edgeurl-mcp-dabb5b77d9/tools/{tool}","mcpServerUrl":"https://mcp.edgeurl.io/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/edgeurl-mcp-dabb5b77d9?live=1"}