Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.FlywheelStudio/ulink

NPM · @ULINKLY/MCP-SERVER · SCANNED AUG 3

Deep linking for iOS, Android & Flutter. Firebase Dynamic Links alternative.

Available components

+35 this week 81 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to FlywheelStudio/ulink-mcp-server). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 60 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability81
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 1879 tokens (~78/item across 24 items; 24 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @ulinkly/mcp-server

# add to Claude Code
claude mcp add flywheelstudio-ulink -- npx -y @ulinkly/mcp-server
# add to Codex CLI
codex mcp add flywheelstudio-ulink -- npx -y @ulinkly/mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "flywheelstudio-ulink": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@ulinkly/mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add flywheelstudio-ulink --command npx --arg -y --arg @ulinkly/mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  flywheelstudio-ulink:
    command: "npx"
    args: ["-y", "@ulinkly/mcp-server"]
// mcp.json
{
  "mcpServers": {
    "flywheelstudio-ulink": {
      "command": "npx",
      "args": [
        "-y",
        "@ulinkly/mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 2 Aug 26 +56
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Provenance: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • The attested source repository moved: FlywheelStudio/ulink-mcp-server security
    • Security disclosure: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • Schema quality: unverified → excellent functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • First check of Schema quality: unverified functional
    • Licence: MIT functional
  • 1 Aug 26 −7
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 −18
    • Malware scan: pass → unverified security
  • 27 Jul 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/@ulinkly/[email protected]

Provenance verified

Ecosystem: npm · Outcome: verified

Reason: verified

Source repo:
FlywheelStudio/ulink-mcp-server
Certificate issuer:
https://token.actions.githubusercontent.com
Certificate SAN:
https://github.com/FlywheelStudio/ulink-mcp-server/.github/workflows/publish.yml@refs/tags/v0.1.15
Rekor log index:
1180036053
Predicate type:
https://slsa.dev/provenance/v1
Subject digest:
sha512:dc52959b5d8de7229ceb0c9855ad4d039b4b54e2ac51b211fb3f9bac9b113c7a0de6df359c2cae216cb59bd008e90e60038e1a26452986756273a7ff1
Discovery method:
attestation_endpoint
Dependencies 95 packages

95 packages in the resolved dependency tree · 95 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 24 exposed · ~1,879 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_domain ~72

Add a custom domain to a ULink project. After adding, you must configure DNS records and verify the domain before it can be used for links.

NameTypeReqDescription
hoststringyesThe domain hostname to add (e.g. links.example.com)
projectIdstringyesThe project to add the domain to

No output schema declared.

No examples provided.

authenticate ~66

Authenticate with ULink by opening a browser window for sign-in or sign-up. No existing account required — new users can create a free account during this flow. This is the first tool to call if check_auth_status reports no valid credentials. After success, all other ULink tools become usable.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

check_auth_status ~41

Check whether valid ULink authentication credentials exist. Returns authentication state without triggering any login flow. Call this first to determine if the authenticate tool needs to be called.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

configure_project ~187

Update platform-specific configuration for a ULink project, such as iOS bundle identifier, Android package name, deeplink schemas, and SHA-256 fingerprints. These settings are used for deep link resolution on mobile platforms.

NameTypeReqDescription
androidDeeplinkSchemastringAndroid deeplink URI scheme (e.g. myapp://)
androidPackageNamestringAndroid package name (e.g. com.example.app)
androidSha256FingerprintsarraySHA-256 certificate fingerprints for Android App Links verification
iosBundleIdentifierstringiOS bundle identifier (e.g. com.example.app)
iosDeeplinkSchemastringiOS deeplink URI scheme (e.g. myapp://)
iosTeamIdstringApple Developer Team ID
projectIdstringyesThe unique identifier of the project to configure

No output schema declared.

No examples provided.

create_api_key ~78

Create a new API key for a ULink project. The full key value is only returned once in the response and cannot be retrieved again. Store it securely.

NameTypeReqDescription
namestringyesA descriptive name for the API key (e.g. 'Production Server')
projectIdstringyesThe project to create the API key for

No output schema declared.

No examples provided.

create_link ~269

Create a new smart link in a ULink project. Supports unified links (single URL that routes by platform) and dynamic links (parameterised deep links). You must specify the project, domain, and link type. Optionally set platform-specific URLs, fallback URLs, custom slug, metadata, and parameters.

NameTypeReqDescription
androidFallbackUrlstringAndroid-specific fallback URL (e.g. Play Store link)
androidUrlstringURL to open on Android devices
domainIdstringyesThe domain to host the link on
fallbackUrlstringFallback URL for unsupported platforms
iosFallbackUrlstringiOS-specific fallback URL (e.g. App Store link)
iosUrlstringURL to open on iOS devices
metadataobjectArbitrary metadata attached to the link
namestringHuman-readable name for the link
parametersobjectKey-value parameters passed through the deep link
projectIdstringyesThe project to create the link in
slugstringCustom slug for the short URL (auto-generated if omitted)
typestringyesLink type: 'unified' for smart routing or 'dynamic' for parameterised deep links

No output schema declared.

No examples provided.

create_project ~71

Create a new ULink project. A project is the top-level container for links, domains, and API keys. Requires a name and a default fallback URL.

NameTypeReqDescription
defaultUrlstringyesDefault fallback URL used when no platform-specific URL matches
namestringyesHuman-readable name for the project

No output schema declared.

No examples provided.

delete_domain ~48

Remove a custom domain from a ULink project. Any links using this domain will stop working. This action is irreversible.

NameTypeReqDescription
domainIdstringyesThe unique identifier of the domain to delete

No output schema declared.

No examples provided.

delete_link ~46

Permanently delete a link. This is irreversible and the short URL will stop working immediately. Use with caution.

NameTypeReqDescription
linkIdstringyesThe unique identifier of the link to delete

No output schema declared.

No examples provided.

get_link ~46

Retrieve detailed information about a specific link by its ID, including all platform URLs, parameters, metadata, and current configuration.

NameTypeReqDescription
linkIdstringyesThe unique identifier of the link

No output schema declared.

No examples provided.

get_link_analytics ~78

Retrieve click analytics for a specific link. Returns aggregated data such as total clicks, unique clicks, and breakdowns by platform, country, and referrer for the requested time period.

NameTypeReqDescription
linkIdstringyesThe unique identifier of the link
periodstringTime period for analytics data (defaults to 7d)

No output schema declared.

No examples provided.

get_onboarding_status ~63

Get the onboarding progress for a ULink project, including which setup steps are complete and what to do next. Requires authentication. Use this after creating a project to guide users through setup.

NameTypeReqDescription
projectIdstringyesThe project ID to check onboarding status for.

No output schema declared.

No examples provided.

get_project ~44

Retrieve detailed information about a specific ULink project by its ID, including configuration, domains, and membership details.

NameTypeReqDescription
projectIdstringyesThe unique identifier of the project

No output schema declared.

No examples provided.

get_subscription ~66

Retrieve the active subscription for a specific project, including plan name, billing period, status, and renewal date. Subscriptions are per-project.

NameTypeReqDescription
projectIdstringThe project ID to get the subscription for. If omitted, the API returns the subscription for the user's first project.

No output schema declared.

No examples provided.

get_usage ~66

Retrieve usage statistics for a specific project's active billing period, including link clicks, links created, and API calls against plan limits. Usage is per-project.

NameTypeReqDescription
projectIdstringThe project ID to get usage for. If omitted, the API returns usage for the user's first project.

No output schema declared.

No examples provided.

list_api_keys ~63

List all API keys for a ULink project. API keys are used for server-side and SDK authentication. Returns key metadata (name, prefix, creation date) but never the full key value.

NameTypeReqDescription
projectIdstringyesThe project whose API keys to list

No output schema declared.

No examples provided.

list_domains ~51

List all domains associated with a ULink project, including shared domains and any custom domains that have been added. Shows verification status for each domain.

NameTypeReqDescription
projectIdstringyesThe project whose domains to list

No output schema declared.

No examples provided.

list_links ~84

List all links in a ULink project with optional pagination. Returns an array of link objects with their configuration, URLs, and metadata.

NameTypeReqDescription
limitintegerNumber of links to return (max 100)
offsetintegerNumber of links to skip for pagination (starts at 0)
projectIdstringyesThe project whose links to list

No output schema declared.

No examples provided.

list_plans ~52

List all available ULink subscription plans with their features, limits, and pricing. Useful for comparing plans or determining upgrade options.

NameTypeReqDescription
billingPeriodstringBilling period to show pricing for (default: monthly).

No output schema declared.

No examples provided.

list_projects ~39

List all ULink projects owned by or shared with the authenticated user. Returns an array of project objects including id, name, slug, and default URL.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

revoke_api_key ~50

Permanently revoke an API key. Any applications using this key will immediately lose access. This action cannot be undone.

NameTypeReqDescription
apiKeyIdstringyesThe unique identifier of the API key to revoke

No output schema declared.

No examples provided.

update_link ~176

Update an existing link's properties. You can change the name, platform-specific URLs, fallback URLs, parameters, and metadata. Only the fields you provide will be modified.

NameTypeReqDescription
androidFallbackUrlstringNew Android-specific fallback URL
androidUrlstringNew URL to open on Android devices
fallbackUrlstringNew fallback URL for unsupported platforms
iosFallbackUrlstringNew iOS-specific fallback URL
iosUrlstringNew URL to open on iOS devices
linkIdstringyesThe unique identifier of the link to update
metadataobjectNew arbitrary metadata attached to the link
namestringNew human-readable name for the link
parametersobjectNew key-value parameters passed through the deep link

No output schema declared.

No examples provided.

update_project ~71

Update the name and/or default URL of an existing ULink project. Only the fields you provide will be changed.

NameTypeReqDescription
defaultUrlstringNew default fallback URL
namestringNew name for the project
projectIdstringyesThe unique identifier of the project to update

No output schema declared.

No examples provided.

verify_domain ~52

Trigger DNS verification for a custom domain. The domain's DNS records must be correctly configured before verification will succeed. Returns the current verification status.

NameTypeReqDescription
domainIdstringyesThe unique identifier of the domain to verify

No output schema declared.

No examples provided.