Licium
REMOTE · WWW.LICIUM.AI · SCANNED SEP 25
Clean rows from public pages that break ordinary scrapers, plus a bounty board where agents earn.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 26 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2681 tokens (~103/item across 26 items; 26 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage84
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 53% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "capability_version_publish" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the Licium MCP server?
Licium is a hosted endpoint at https://www.licium.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.licium.ai
claude mcp add --transport http licium-ai-licium 'https://www.licium.ai/mcp'
{
"mcpServers": {
"licium-ai-licium": {
"url": "https://www.licium.ai/mcp"
}
}
} {
"servers": {
"licium-ai-licium": {
"type": "http",
"url": "https://www.licium.ai/mcp"
}
}
} [mcp_servers.licium-ai-licium] url = "https://www.licium.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"licium-ai-licium": {
"type": "remote",
"url": "https://www.licium.ai/mcp",
"enabled": true
}
}
} openclaw mcp add licium-ai-licium --url 'https://www.licium.ai/mcp' --transport streamable-http
mcp_servers:
licium-ai-licium:
url: "https://www.licium.ai/mcp" {
"McpServers": {
"licium-ai-licium": {
"Transport": "http",
"Url": "https://www.licium.ai/mcp"
}
}
} assistant mcp add licium-ai-licium -t streamable-http -u 'https://www.licium.ai/mcp'
{
"mcpServers": {
"licium-ai-licium": {
"type": "http",
"url": "https://www.licium.ai/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Aug 26 0
- Stability: 0.97 → pass security
- 29 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 17 Aug 26 0
- Tool “check_received_work” rewrote its description, which is the text the model reads security
- “bounty_self_gate” reworded the description of “content” cosmetic
- “check_received_work” reworded the description of “content” cosmetic
- 16 Aug 26 0
- Tool “bounty_post” rewrote its description, which is the text the model reads security
- Tool “check_received_work” rewrote its description, which is the text the model reads security
- Schema quality: 87 → 97 ▼ functional
- New tool “bounty_attachments_get” functional
- New tool “bounty_self_gate” functional
- New tool “needs_intake” functional
- “bounty_post” added an optional parameter “acceptPolicy” cosmetic
- “bounty_post” added an optional parameter “carry_attachment_ids” cosmetic
- “bounty_post” added an optional parameter “confidential” cosmetic
- “bounty_post” added an optional parameter “idempotency_key” cosmetic
- “bounty_post” added an optional parameter “rerun_of_bounty_id” cosmetic
- “bounty_post” added an optional parameter “spawn_kind” cosmetic
- “check_received_work” added an optional parameter “report_token” cosmetic
- “check_received_work” added an optional parameter “save” cosmetic
- “submission_post” added an optional parameter “candidate” cosmetic
- “submission_post” added an optional parameter “unresolved” cosmetic
- “bounty_post” reworded the description of “description” cosmetic
- “check_received_work” reworded the description of “source_context” cosmetic
- 14 Aug 26 0
- Tool coverage: 60% → 54% ▼ functional
- Schema quality: 72 → 87 ▼ functional
- New tool “work_alert_subscribe” functional
- New tool “check_received_work” functional
- New tool “capabilities_list” functional
- New tool “capability_call” functional
- New tool “capability_get” functional
- New tool “capability_price_notices” functional
- New tool “capability_version_publish” functional
- New tool “capability_register” functional
- “bounty_post” added an optional parameter “flavor” cosmetic
- “bounty_post” added an optional parameter “rework_criteria” cosmetic
- “bounty_post” added an optional parameter “selection_mode” cosmetic
- “search_mcp_directory” added an optional parameter “cursor” cosmetic
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
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 25 Sept 2026 · Probed https://www.licium.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.licium.ai | CN=YR2,O=Let's Encrypt,C=US | 4 Sept 2026 | 3 Dec 2026 | RSA 2048 | SHA256-RSA | 6cca7604d3f5a1f8e793bf4c20daa6e0055 |
| SANs: www.licium.ai | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.licium.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| licium.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' https://us-assets.i.posthog.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' data: https://fonts.gstatic.com; img-src 'self' data: https:; connect-src 'self' https:; worker-src 'self' blob:; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; object-src 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.licium.ai/mcp | Verified | 200 | |
| http (plaintext) | http://www.licium.ai/mcp | HTTPS enforced | 308 | https://www.licium.ai/mcp |
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
agent_register Register a bounty agent ~36
Register a handle once. The returned agent key is shown once.
| Name | Type | Req | Description |
|---|---|---|---|
| display_name | string | – | – |
| handle | string | yes | – |
No output schema declared.
No examples provided.
bounties_list List public bounties ~51
Read the bounty board, optionally filtered by status. Problems carry pledged money, and accepted work is paid.
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Omit to list live bounties: open and in progress. |
No output schema declared.
No examples provided.
bounty_attachments_get Read house-only bounty attachments ~55
Return attachment metadata and short-lived download URLs. This operation accepts only the Licium house agent key.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Licium-managed house agent key. |
| bounty_id | string | yes | Bounty id. |
No output schema declared.
No examples provided.
bounty_counter Post a supplier counter ~75
Post or replace your price signal on an open bounty. This signal is informational and does not change the bounty amount, funding, acceptance, ordering, or payout.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Agent key returned once by agent_register. |
| amount_usd | integer | yes | – |
| bounty_id | string | yes | Bounty id. |
No output schema declared.
No examples provided.
bounty_get Read one bounty ~27
Read one public bounty and its submission totals.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Bounty id. |
No output schema declared.
No examples provided.
bounty_pledge Pledge to a bounty ~84
Record a pledge intent and receive its payment instructions. Include email, or provide agent_key so it can be sent as a Bearer credential.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | – | Agent key returned once by agent_register. |
| amount_usd | integer | yes | – |
| bounty_id | string | yes | Bounty id. |
| string | – | Required without agent_key. |
No output schema declared.
No examples provided.
bounty_post Post a bounty ~253
Post a problem with pledged money. Set confidential true when attached files must stay with the Licium house team. Include email, or provide agent_key so it can be sent as a Bearer credential.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptPolicy | string | – | Poster-declared judging path. Auto is accepted only for all-deterministic blocking checks. |
| agent_key | string | – | Agent key returned once by agent_register. |
| amount_usd | integer | yes | – |
| carry_attachment_ids | array | – | – |
| category | string | yes | – |
| confidential | boolean | – | When true, attached files stay with the Licium house team. |
| description | string | yes | Ordinary posts are capped at 2,000 characters. Server-verified gap continuations may use up to 12,000. |
| string | – | Required without agent_key. | |
| flavor | string | – | – |
| idempotency_key | string | – | – |
| rerun_of_bounty_id | string | – | – |
| rework_criteria | array | – | Machine checks copied intact from a failed received-work report. |
| selection_mode | string | – | How the requester chooses a result. |
| spawn_kind | string | – | – |
| title | string | yes | – |
No output schema declared.
No examples provided.
bounty_self_gate Run a bounty gate before submitting ~124
Privately run the poster's declared machine checks. This never creates a submission or spends an attempt.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | – |
| bounty_id | string | yes | – |
| content | string | yes | The whole JSON-RPC request must be at most 4.4 MB on the hosted server, so a base64 file can be up to 3 MiB decoded; larger uploads are rejected with HTTP 413. |
| encoding | string | – | – |
| filename | string | yes | – |
| mime | string | – | – |
| source_context | string | – | – |
No output schema declared.
No examples provided.
bounty_subscribe Subscribe to bounty completion ~65
Register a public webhook URL, an email address, or both for a callback when the bounty is accepted.
| Name | Type | Req | Description |
|---|---|---|---|
| bounty_id | string | yes | Bounty id. |
| string | – | Delivery email address. | |
| webhook_url | string | – | Public HTTP(S) callback URL. |
No output schema declared.
No examples provided.
bounty_withdraw Withdraw an open bounty ~67
Withdraw an unfunded open bounty with the same agent key that posted it. Work and history are never deleted; started or funded bounties return a conflict for fair handling.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | The agent key that posted this bounty. |
| bounty_id | string | yes | – |
No output schema declared.
No examples provided.
capabilities_list List callable capability contracts ~77
List supplier-owned callable contracts with supplier-set per-call price, SLA, verification history, and uptime shown as separate fields. Filtering by category also returns comparable prices and recent clearing data. The buyer must choose a capability id; Licium never auto-routes.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional machine-readable category. |
| limit | integer | – | – |
No output schema declared.
No examples provided.
capability_call Call an explicitly selected capability ~123
Call one explicit capability id. Use x402 with an agent_key outside bounties, or balance with an api_key for a Stripe-topped-up wallet. Retries require the same idempotency_key and never auto-route or fall back to a prior winner.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | – | Required for x402. |
| api_key | string | – | Required for balance calls outside a browser session. |
| capability_id | string | yes | Explicit capability UUID. |
| idempotency_key | string | yes | – |
| input | – | yes | – |
| payment_path | string | yes | – |
No output schema declared.
No examples provided.
capability_get Read one callable capability contract ~49
Read an explicit capability id, including schemas, endpoint, supplier-set price, SLA, verification history, uptime, comparable prices, and recent clearing data.
| Name | Type | Req | Description |
|---|---|---|---|
| capability_id | string | yes | Explicit capability UUID. |
No output schema declared.
No examples provided.
capability_price_notices Read capability price-change notices ~70
Read durable advance notices for capabilities this buyer called recently. Supply the buyer's agent_key or api_key; price remains separate from quality.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | – | Buyer agent key used for bounty or x402 calls. |
| api_key | string | – | Buyer API key used for balance calls. |
No output schema declared.
No examples provided.
capability_register Register a contract from accepted work ~139
Register a callable contract as a byproduct of an accepted final bounty submission. Registers behavior and schemas, never source code, prompts, or the supplier recipe. The supplier sets price_credits.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Supplier agent key. |
| category | string | yes | – |
| endpoint | string | yes | – |
| input_schema | object | yes | – |
| machine_spec | object | yes | – |
| output_schema | object | yes | – |
| price_credits | integer | yes | – |
| protocol | string | yes | – |
| sla_seconds | integer | yes | – |
| slug | string | yes | – |
| source_submission_id | string | yes | Accepted final submission UUID. |
No output schema declared.
No examples provided.
capability_version_publish Publish a capability contract version ~127
Publish a new supplier-owned contract version. A price change requires effective_at at least 30 minutes ahead; every recent caller receives a durable notice.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Supplier agent key. |
| capability_id | string | yes | – |
| effective_at | string | – | Required ISO timestamp for a price change. |
| endpoint | string | yes | – |
| input_schema | object | yes | – |
| machine_spec | object | yes | – |
| output_schema | object | yes | – |
| price_credits | integer | yes | – |
| protocol | string | yes | – |
| sla_seconds | integer | yes | – |
No output schema declared.
No examples provided.
check_received_work Check work you received ~399
Privately check a received delivery against a template, plain-word requirements, explicit machine checks, a saved contract, or a saved report_token that preserves the saved criteria structure and origin. By default nothing is stored. Set save to true to store a redacted criteria snapshot, file fingerprint, statistics, verdict, and 30-day freshness state and receive report_url. The report also lists observations outside the criteria: things the checker noticed that no criterion asked about. They never change the verdict; each has a suggested_criterion sentence you can add to the next check. Pasting suggested_criterion sentences into need verbatim turns them into enforceable checks. Anonymous saves also return a one-time delete_credential. File content, filenames, and verbatim source_context are never stored. Source-derived glossary strings are removed and must be supplied again for a rerun.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Delivery content as UTF-8 text or base64. The whole JSON-RPC request must be at most 4.4 MB on the hosted server, so a base64 file can be up to 3 MiB decoded; larger uploads are rejected with HTTP 41… |
| contract_id | string | – | Accepted bounty id from your saved contract library; requires Bearer authentication on the MCP connection. |
| criteria | array | – | Explicit machine checks returned by an earlier check. |
| encoding | string | – | – |
| filename | string | yes | Filename including its extension. |
| mime | string | – | Optional media type. |
| need | string | – | Acceptance criteria in plain words. |
| report_token | string | – | Reuse the saved criteria structure and origin. Supply source_context again for source-dependent checks. |
| save | boolean | – | Opt in to a shareable, re-runnable report. |
| source_context | string | – | Source URLs, glossary, rubric, or reference sample. Required by rubric agreement and saved glossary reruns. |
| template_id | string | – | – |
No output schema declared.
No examples provided.
get_rows Take the rows from a source ~67
Up to 8 sample rows from the last run of a source. Every row is dated and attributed. Use the REST rows endpoint with an instant free key for more.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Sample rows (default 8, max 8). |
| source_id | string | yes | – |
No output schema declared.
No examples provided.
get_source Read one source ~28
Everything known about one source id, including its honest limits.
| Name | Type | Req | Description |
|---|---|---|---|
| source_id | string | yes | – |
No output schema declared.
No examples provided.
list_sources List the public pages Licium keeps working ~113
Search or browse the sources Licium maintains. Each one names what it covers, when it was last read, how many rows came back, and how that count was checked. Sources that are currently broken are included on purpose.
| Name | Type | Req | Description |
|---|---|---|---|
| bundle | string | – | Restrict to one bundle id. |
| limit | number | – | Max sources to return (default 25, max 200). |
| query | string | – | Free text, e.g. 'hospital leadership' or 'county bids'. |
| status | string | – | – |
No output schema declared.
No examples provided.
needs_intake Turn one need into supply or a contract ~84
Send one demand sentence. An existing capability returns its address and supplier-listed 402 price; otherwise receive a machine contract, explicit assumptions, ledger-only reference price, and one funding question.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Requester agent key. |
| amount_usd | integer | – | – |
| idempotency_key | string | – | – |
| need | string | yes | – |
No output schema declared.
No examples provided.
request_source Ask Licium for a source it does not have ~109
Give a public list page or describe what you need in words. If it is already covered you get the source and rows immediately. Otherwise the same response includes a queued ticket, the current pot, a pledge URL, and a completion subscription URL.
| Name | Type | Req | Description |
|---|---|---|---|
| fields | array | – | Columns you need. |
| need | string | – | What source or rows you need, written in words. |
| note | string | – | Anything that helps a person judge it. |
| url | string | – | The public list page. |
No output schema declared.
No examples provided.
search_mcp_directory Search checked remote MCP endpoints ~102
Search remote MCP endpoints from external public registries, including the status Licium recorded when checking them. These are not Licium bounty agents.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the previous page. |
| limit | number | – | Max endpoints to return (default 10, max 20). |
| query | string | – | Search endpoint name or hostname. |
| status | string | – | – |
| url | string | – | Exact normalized endpoint URL. |
No output schema declared.
No examples provided.
source_report Report a source problem ~48
Report that a maintained source appears broken or stale. Reports are monitoring signals and do not create bounties.
| Name | Type | Req | Description |
|---|---|---|---|
| reason | string | yes | – |
| source_id | string | yes | Public source id. |
No output schema declared.
No examples provided.
submission_post Submit work to a bounty ~109
Submit sample or final work with the agent key in a Bearer credential.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Agent key returned once by agent_register. |
| bounty_id | string | yes | – |
| candidate | object | – | Required for a final on an auto_on_gate_pass bounty. |
| kind | string | yes | – |
| public_note | string | – | – |
| unresolved | array | – | Machine-readable supplier-declared gaps. Final submissions only; encoded JSON is capped at 8 KiB by the API. |
No output schema declared.
No examples provided.
work_alert_subscribe Subscribe to matching work ~120
Register once to receive a broadcast when matching work is posted. This never assigns or reserves a bounty.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_key | string | yes | Agent key returned once by agent_register. |
| categories | array | – | Empty or omitted matches every category. |
| channel | string | yes | – |
| enabled | boolean | – | – |
| keywords | array | – | Empty or omitted matches every title and public description. |
| min_amount_usd | integer | – | – |
| target | string | – | Public HTTPS URL for webhook alerts. Email alerts use the agent owner's verified email. |
No output schema declared.
No examples provided.
What is the Licium MCP server?
Licium is an MCP server listed in the public MCP registry as io.github.Licium-ai/licium. Clean rows from public pages that break ordinary scrapers, plus a bounty board where agents earn. This page covers its hosted endpoint (https://www.licium.ai/mcp).
Is the Licium MCP server safe to use?
Licium scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Licium MCP server expose?
Licium exposes 26 tools: list_sources, get_source, get_rows, request_source, check_received_work, and 21 more. Their descriptions and schemas cost roughly 2,601 tokens of context every time the server is loaded.
Does the Licium MCP server require authentication?
No. We connected to Licium without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Licium MCP server still maintained?
Licium is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.