CKB Pulse
Server Details
Who builds on Nervos CKB, from public GitHub: projects, people, updates, DAO-funded work. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- LusoCryptoLabs/ckb-pulse
- GitHub Stars
- 3
TDQS
Scored across 8 tools
The set is organised around distinct entities and questions: one project (project), one person (person), ranked people in an area (who_works_on), search (find_projects), ecosystem snapshots (overview), long-run history (trends), event feed (recent_updates), and DAO funding status (dao_funded). The main soft spots are the three 'state of the ecosystem' tools (overview, trends, recent_updates), which differ mainly by time window and aggregation level, and dao_funded, which reads as a filtered project list that find_projects cannot express.
All names are snake_case, but the conventions are mixed: searches use verb-first phrasing (find_projects, who_works_on), single-entity lookups use bare singular nouns (project, person), and aggregations use noun phrases (overview, trends, recent_updates, dao_funded). It stays readable, but there is no single predictable pattern an agent can extrapolate from.
Eight tools is well within the sweet spot and each one maps to a distinct query the domain naturally invites. Nothing feels like padding or a redundant alias.
Core coverage of projects, people, updates, trends and DAO funding is solid, but overview advertises 'most active organisations' while no tool lets an agent drill into an organisation, creating a dead end. There is also no tool to filter or inspect updates by type (pushes, PRs, issues, reviews, releases) or to fetch a specific update or repository beyond the aggregate views.
Available Tools
8 toolsdao_fundedGrants of the Community Fund DAOARead-onlyInspect
The projects the Nervos Community Fund DAO pays for: their code activity next to their reports on Nervos Talk, and whether each is in progress, quiet or delivered.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value by disclosing the shape of the answer: per-project code activity, linked Nervos Talk reports, and a three-way status classification (in progress, quiet, delivered). It does not state freshness or ordering of that data, which is the only notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the subject front-loaded ('the projects the DAO pays for') and the returned facets following. Nothing is wasted and nothing is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing the return, and it does so: project identity, code activity, talk reports, and status. What is missing is minor — ordering, time window covered, or what an empty result means for a zero-arg tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is no parameter semantics to explain; the baseline for a zero-param tool applies. The description correctly implies a fixed, unfiltered view (all DAO-funded grants) rather than a queryable one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource with a precise scope: the projects the Nervos Community Fund DAO pays for, plus what is reported about each (code activity, Nervos Talk reports, status). An agent can tell this is the DAO-grants slice rather than a general project listing. It stops short of explicitly contrasting itself with siblings such as find_projects or project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers this is the tool for questions about Community Fund DAO grants. There is no statement of when to prefer it over find_projects or project, and no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_projectsFind CKB projectsARead-onlyInspect
Search the projects Pulse follows by words in their name, description or topics, by area (ckb, fiber, dob/spore, rgb++, ccc, nervos), or both; the most active first.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | ||
| limit | No | at most this many, 15 by default | |
| query | No | words to look for, e.g. "wallet" or "lock script" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and closed-world safety, and the description adds genuinely new behavioral context: the result set is limited to projects 'Pulse follows' and results are returned most-active-first. It does not discuss pagination or result fields, which is a minor remaining gap given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that specifies scope, filter modes, and ordering with no filler. Slight bloat from enumerating the area values already present in the schema enum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should say more about what a result contains (name, area, activity signal) and how `limit` interacts with the 'most active first' ordering. It covers the search behavior adequately but leaves the returned shape implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents `query` and `limit` but leaves `area` as a bare enum, and the description adds that `query` matches against name, description, or topics — real meaning beyond the schema's 'words to look for'. It also restates the area values, which is redundant with the enum but confirms the OR-combination semantics of query/area/both.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (search) and resource (projects), plus the fields searched (name, description, topics) and ordering (most active first). It never mentions the sibling `project`, which presumably returns a single project's detail, so the boundary with that sibling must be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'search the projects Pulse follows' framing and the area filter, so an agent can tell this is a discovery/list tool. However, no explicit when-to-use versus when-not guidance or alternative tools (e.g. `trends`, `recent_updates`, `project`) are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
overviewWhat is happening in CKBARead-onlyInspect
The CKB ecosystem over the last day, week or month: how many updates, people and projects, the most active projects, people and organisations, and the projects new to Pulse.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | day, week (the default) or month |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered structurally. The description adds useful content detail (what dimensions are counted, that it surfaces 'new to Pulse' projects) but says nothing about data freshness, caching, or aggregation window boundaries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that enumerates the returned dimensions efficiently with no filler. Slightly dense as a comma-list, but every clause identifies a distinct output facet.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, no output schema, and annotations covering the safety profile, the description does its main remaining job well: telling the agent what the response will contain. Only minor gaps (freshness, whether counts are cumulative vs daily) remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enum is documented, so the schema carries the load. The description restates the period options but adds no semantics beyond them (e.g., how 'day' is defined or the default), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: aggregate CKB ecosystem stats over day/week/month, including counts, most active entities, and new projects. This is clearly distinguishable from the entity-specific siblings (person, project, find_projects), though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied – an agent can infer this is the 'summary/dashboard' entry point versus the targeted lookups in the sibling set, but the description never says when to choose it over recent_updates or trends, nor any prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
personOne CKB developerBRead-onlyInspect
What one person works on across the CKB projects Pulse follows: their projects, the areas and languages of those projects, and the kinds of updates they make.
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes | the GitHub login |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the meaningful behavioral context of what data is aggregated (projects, areas, languages, update kinds), but is silent on what happens for an unknown login (error vs. empty result) and on whether the profile is cached or live.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler, and the 'across the CKB projects Pulse follows' clause usefully bounds scope. It is slightly list-heavy in its tail, but every element maps to real returned content rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so at a useful level of abstraction for a read-only, single-parameter profile tool. The remaining gap — behavior for an unmatched login and any paging/compaction of the aggregated lists — is minor but real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single required 'login' parameter with its own description ('the GitHub login'), so the schema carries parameter semantics. The tool description adds nothing further, such as whether the login is case-sensitive or must match an indexed developer, which is the baseline-3 outcome for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource precisely (a single CKB developer's profile) and enumerates the returned facets: projects, project areas/languages, and update kinds. The tool name 'person' is generic, so the description is doing necessary work, but it never explicitly distinguishes itself from the sibling 'who_works_on' or 'project', which cover adjacent ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as who_works_on (people for a project) or find_projects, even though the sibling list shows obvious overlap. The agent must infer that this is the person-centric lookup from the description's framing alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
projectOne CKB projectARead-onlyInspect
One followed project in detail: description, language, topics, activity per day over 30 days, commits and developers per month, its people and its latest updates.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | the GitHub repository, owner/repo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations confirm it is a read-only operation. The description adds behavioral context by defining the granularity of the returned data (e.g., 'commits and developers per month', 'activity per day'), which is helpful for an agent planning a detailed query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is highly dense and effectively front-loads the tool's value proposition. Every phrase is necessary to convey the comprehensive nature of the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool is designed to return a wealth of granular data points (language, topics, developers, daily activity), the description is complete in defining the scope and depth of the returned information, preventing assumptions about data richness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines the 'name' parameter as the GitHub repository string. Since schema coverage is 100% and there is only one parameter, the description does not add any semantic meaning or instruction to the input beyond what the schema already provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies exactly what the tool provides: a comprehensive profile including activity per day, commits per month, and a full list of project details. This is a specific and ambitious scope that clearly distinguishes it from simpler sibling tools like 'overview' or 'recent_updates'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it doesn't explicitly state a 'when-not' scenario, it strongly implies that this tool is intended for deep-dive analysis (e.g., comparing activity metrics) whereas sibling tools handle less specific subsets of information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recent_updatesLatest updatesARead-onlyInspect
The latest updates by people (pushes, pull requests, issues, reviews, releases) across CKB, or in one project, or by one person; newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | at most this many, 20 by default | |
| login | No | a GitHub login, to see one person | |
| project | No | owner/repo, to see one project |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the description needn't explain safety. It adds genuine behavioral context: exactly which event types are returned and that results are ordered newest first, which is not derivable from the schema. It omits the lookback window for 'recent' and any pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence with no wasted clauses, and the enumeration is front-loaded. However, packing event types, three scopes, and ordering into one semicolon-chained sentence makes it harder to parse than a short structured breakdown would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 3 optional params and no output schema, the description covers what is needed to call it correctly. The notable gap is that 'latest' is never bounded — no time window — and nothing indicates the shape of a returned update, which matters for an activity-feed tool with limit defaulting to 20.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already carries a description, so this is a baseline case. The description does add that project and login act as alternative scoping modes ('or in one project, or by one person'), hinting at filter intent beyond the raw schema text, but it doesn't clarify whether the two can be combined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific resource (latest updates) with an enumerated list of event types (pushes, pull requests, issues, reviews, releases), explicit scopes (across CKB, one project, one person), and ordering (newest first). It does not reference any sibling (e.g., trends or overview), so an agent must infer differentiation itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: fetch recent activity, optionally narrowed by project or login. There is no explicit when-to-use/when-not statement and no named alternative among the siblings, so the agent is left to infer that this is the general activity feed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trendsBuilders per monthARead-onlyInspect
Developers, new developers and commits per month over two years, in the projects Pulse follows today. The current month is so far.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, non-open-world operation. The description adds useful behavioral context by scoping results to projects Pulse follows today and noting that the current month is incomplete, which helps an agent interpret the output correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no wasted wording. It front-loads the returned metrics and follows with the important time-scope caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only aggregate tool without an output schema, the description supplies enough context: what is measured, the time granularity, the project scope, and the partial-current-month caveat. It could be slightly richer about return shape, but it is broadly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is no parameter semantics to explain. The baseline for a no-parameter tool is 4, and nothing in the description creates confusion about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact metrics returned: developers, new developers, and commits per month over a two-year window. It is clear what the tool reports, though it does not explicitly distinguish itself from sibling tools such as overview or recent_updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a trend-analysis use case by specifying monthly data over two years, but it gives no explicit guidance on when to use this tool versus alternatives. It also does not state any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
who_works_onWho works on whatBRead-onlyInspect
The people most active in the projects of an area (ckb, fiber, dob/spore, rgb++, ccc, nervos) or in the projects that match some words, with the projects they work on. Useful to find who to ask about a part of CKB.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | ||
| limit | No | at most this many people, 10 by default | |
| query | No | words that pick the projects, e.g. "wallet" or "spore" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that results are people plus the projects they work on and that people are ranked by activity, which is useful, but it does not explain how area and query interact or what the returned records contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the main behavior before giving the use case. One sentence is long and packs multiple concepts, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does carry the burden of explaining returns, and it does state that people come with their projects. However, it omits what happens when both area and query are supplied, how activity is measured, and the shape of results beyond names and projects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with limit and query already documented in the schema. The description usefully repeats the area enumerations and clarifies that query selects projects by matching words, but it adds little beyond the schema for the other parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (people most active in projects) and scopes it by area or query, and it adds a clear use case ('find who to ask about a part of CKB'). It does not explicitly distinguish itself from siblings such as find_projects or person, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Useful to find who to ask about a part of CKB' gives implied usage context, but there is no guidance on when to use this instead of find_projects, person, or project. The agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- First observed
dao_funded - First observed
find_projects - First observed
overview - First observed
person - First observed
project - First observed
recent_updates - First observed
trends - First observed
who_works_on
Related MCP Connectors
Track public GitHub repos: free snapshot, paid release, star & issue intel via x402 USDC.
Live Cardano data (token prices, DEX trades, pools, wallets, NFTs, staking, governance). Read-only.
The open-source talent graph for humans and AI agents. Find developers.
Read-only Chinese Vibe Coding knowledge connector for search, docs, and repo freshness.
Related MCP Servers
- AlicenseAqualityBmaintenanceStartup engineering acceleration signals for VC investors. Tracks commit velocity, contributor growth, and repo expansion across 20 sectors via public GitHub data. No API key required.8159 npm6MIT
- AlicenseNot gradedqualityBmaintenanceA daily census of the AI agent tooling ecosystem on GitHub (MCP servers, agent frameworks, skills): look up whether a repository is still maintained and under what licence, search by words with status and licence filters, get the day's totals and two acted-on lists. Standard library only, public metadata only.MIT
- AlicenseBqualityCmaintenanceEnables AI agents to read GitHub Projects v2 boards over stdio, letting them list projects and their items across repositories so cross-repository work can be coordinated without scanning every repository. The read-only MVP authenticates via a GitHub App installation token minted at runtime and exposes list_projects, get_project, and list_project_items tools with cursor-based pagination.3MIT
- AlicenseNot gradedqualityFmaintenanceMonitors and analyzes GitHub repository activity (stars, commits, issues) with automated reporting. Supports AI-powered trend analysis and automatic notifications to Feishu (Lark) messaging platform.1 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.