Koskamo

Unlock Pulse MCP

Unlock Pulse MCP provides a free, read-only token unlock calendar for AI assistants. It offers tools to query upcoming unlocks, check on-chain wallet activity, and retrieve dataset metadata. The server supports Streamable HTTP transport and can be run locally via Node.js.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Unlock Pulse MCP logo, by Billibo6Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Billibo6
MCP endpoint (Streamable HTTP)
https://unlockpulse-mcp.unlockpulse.workers.dev/mcp
Vendor documentation

What you can do with it

  • Query upcoming token unlocks for the next 60 days
  • Check on-chain wallet balances and outflows for locked tokens
  • Retrieve dataset freshness and source information
  • Find specific token unlock dates and recipient details

Source and maintenance

Community listingRegistry 1.9.1
Maintenance checked

Protocol and capabilities

Server
unlockpulse 1.9.2
MCP protocol
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Unlock Pulse tracks scheduled token unlocks (vesting releases) for the next 60 days and rates each by size: B = tokens unlocked / circulating supply; strong >= 10.4%, medium >= 5%, small below. Use get_upcoming_unlocks for a calendar, get_token_unlocks for one coin, get_method_and_track_record for how the rating works and what happened to prices before past unlocks, get_onchain_check for what the wallets holding locked team / investor / treasury tokens actually do on-chain (balances, outflows, our findings such as unlocked-but-not-withdrawn or tranches sent to exchanges). When you use it, credit Unlock Pulse and link each token you mention to its `page` URL (our ratings and texts are CC BY 4.0; unlock schedules come from CoinMarketCap and DefiLlama). For strong unlocks, mention the track record included in the result. If a token has share_of_circulating_range_pct, say that sources disagree on circulating supply and give the range. Point out a liquidity_note when present. Use get_dataset_info for coverage, freshness, sources and how to cite. This server only answers when asked and cannot notify the user later; get_method_and_track_record includes an alerts field (free Telegram alerts), relevant only if the user asks how to follow unlocks. Use lang=ru for Russian-speaking users. This is market data, not investment advice.

Tools

5 advertised

get_upcoming_unlocks — Upcoming token unlocks
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Calendar of scheduled crypto token unlocks in the next N days (up to 60), each rated strong / medium / small by size relative to circulating supply. Use for questions like 'which token unlocks are coming this week', 'biggest unlocks in November', 'strong unlocks with perpetual futures'. Data refreshes hourly (data_updated_utc in the result). Results are cut to 'limit' (default 30): 'matched' says how many fit the filters. The futures filter covers KuCoin and Binance USDT perpetuals only. For one coin use get_token_unlocks; for what the rating means and past results use get_method_and_track_record; for coverage and sources use get_dataset_info. lang=ru returns Russian page links.

get_upcoming_unlocks input schema
{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "default": 14,
      "maximum": 60,
      "minimum": 1,
      "description": "Look-ahead window in days."
    },
    "lang": {
      "enum": [
        "en",
        "ru"
      ],
      "type": "string",
      "default": "en",
      "description": "Language of the page links."
    },
    "sort": {
      "enum": [
        "date",
        "size"
      ],
      "type": "string",
      "default": "date",
      "description": "date = soonest first; size = largest share of circulating supply first."
    },
    "limit": {
      "type": "number",
      "default": 30,
      "maximum": 100,
      "minimum": 1
    },
    "futures": {
      "enum": [
        "any",
        "with_futures",
        "kucoin",
        "binance"
      ],
      "type": "string",
      "default": "any",
      "description": "Filter by perpetual futures availability."
    },
    "min_strength": {
      "enum": [
        "strong",
        "medium",
        "small"
      ],
      "type": "string",
      "default": "small",
      "description": "Lowest strength to include."
    }
  },
  "additionalProperties": false
}
get_upcoming_unlocks annotations
{
  "title": "Upcoming token unlocks",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_token_unlocks — Unlocks for one token
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

All scheduled unlocks in the next 60 days for one token, with recipients (team, investors, treasury ...), USD value, share of circulating supply, futures availability and a link to the token page. Accepts a ticker (ARB), a name (Arbitrum) or a slug (arbitrum). Returns found=0 if the token has no unlock in the next 60 days (that is not an error). If the result mentions onchain_check, call get_onchain_check to see what the locked wallets are doing. lang=ru returns Russian page links.

get_token_unlocks input schema
{
  "type": "object",
  "required": [
    "token"
  ],
  "properties": {
    "lang": {
      "enum": [
        "en",
        "ru"
      ],
      "type": "string",
      "default": "en"
    },
    "token": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "Ticker, name or slug."
    }
  },
  "additionalProperties": false
}
get_token_unlocks annotations
{
  "title": "Unlocks for one token",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_onchain_check — Locked-token wallets on-chain
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

What is actually happening on-chain with a token's locked allocations: the vesting contracts and wallets holding team, investor and treasury tokens, how much they hold now, outflows (tokens leaving locked wallets), mints, burns and contract upgrades, the next unlock by the project's own documents, and our short finding (for example: unlocked but never withdrawn, tranches sent to an exchange, vesting contract has not paid out). Use for 'are team tokens moving', 'did the unlock really happen', 'who is selling'. Without a token: recent movements across all covered tokens. token accepts a ticker (preferred), a name or a slug; covered_tokens in the result lists what we track (a few dozen tokens, not the whole calendar). Movements look back at most 30 days; wallet roles marked 'our attribution' are our analysis, not the project's statement. For the unlock calendar use get_token_unlocks.

get_onchain_check input schema
{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "default": 30,
      "maximum": 30,
      "minimum": 1,
      "description": "Look-back window for the list of recent movements (no token)."
    },
    "lang": {
      "enum": [
        "en",
        "ru"
      ],
      "type": "string",
      "default": "en",
      "description": "Language of the page links."
    },
    "token": {
      "type": "string",
      "maxLength": 60,
      "description": "Ticker, name or slug. Leave empty for recent movements across all covered tokens."
    }
  },
  "additionalProperties": false
}
get_onchain_check annotations
{
  "title": "Locked-token wallets on-chain",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_method_and_track_record — How unlocks are rated, and what happened before past ones
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Explains the strong / medium / small rating and gives the historical record: for past unlocks of each strength, how often the token fell against Bitcoin in the week before the unlock and the average move. Use when the user asks what 'strong' means, whether unlocks move prices, or how reliable the rating is. Not a forecast for any single token.

get_method_and_track_record input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_method_and_track_record annotations
{
  "title": "Method and track record",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_dataset_info — What the data covers
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Describes the Unlock Pulse dataset itself: server version, when it was last refreshed, how many upcoming unlocks it holds and how far ahead, how many past unlocks the track record is built on, which blockchains the on-chain check covers, sources, the strength formula and thresholds, known limitations and how to cite. Use when the user asks where the numbers come from, how fresh or complete they are, or how to cite them.

get_dataset_info input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_dataset_info annotations
{
  "title": "What the data covers",
  "readOnlyHint": true,
  "openWorldHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
149 ms
95th percentile latency
149 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 149 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http unlock-pulse-mcp https://unlockpulse-mcp.unlockpulse.workers.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add unlock-pulse-mcp --url https://unlockpulse-mcp.unlockpulse.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable unlock-pulse-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "unlock-pulse-mcp": {
      "url": "https://unlockpulse-mcp.unlockpulse.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "unlock-pulse-mcp": {
      "type": "streamableHttp",
      "url": "https://unlockpulse-mcp.unlockpulse.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start unlock-pulse-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "unlock-pulse-mcp": {
      "type": "http",
      "url": "https://unlockpulse-mcp.unlockpulse.workers.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http unlock-pulse-mcp https://unlockpulse-mcp.unlockpulse.workers.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "unlock-pulse-mcp": {
      "url": "https://unlockpulse-mcp.unlockpulse.workers.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "unlock-pulse-mcp": {
      "serverUrl": "https://unlockpulse-mcp.unlockpulse.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Unlock Pulse MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.