Search / io.github.JessieJanie/skim402
skim402
R0· no sign-inClean markdown and structured web data. Free card API key; wallet/x402 pay-per-call optional.
v0.2.5 · active · repository · website · descriptor JSON · versions
Search / io.github.JessieJanie/skim402
R0· no sign-inClean markdown and structured web data. Free card API key; wallet/x402 pay-per-call optional.
v0.2.5 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"skim402": {
"type": "http",
"url": "https://skim402.com/api/mcp",
"headers": {
"X-Skim-Wallet-Key": "${X_SKIM_WALLET_KEY}"
}
}
}
}claude mcp add --transport http skim402 https://skim402.com/api/mcp --header "X-Skim-Wallet-Key: ${X_SKIM_WALLET_KEY}"[mcp_servers.skim402]
url = "https://skim402.com/api/mcp"
env_http_headers = { "X-Skim-Wallet-Key" = "X_SKIM_WALLET_KEY" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"skim402": {
"type": "remote",
"url": "https://skim402.com/api/mcp",
"enabled": true,
"headers": {
"X-Skim-Wallet-Key": "{env:X_SKIM_WALLET_KEY}"
}
}
}
}{
"mcpServers": {
"skim402": {
"type": "http",
"url": "https://skim402.com/api/mcp",
"headers": {
"X-Skim-Wallet-Key": "${X_SKIM_WALLET_KEY}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=skim402&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc2tpbTQwMi5jb20vYXBpL21jcCIsImhlYWRlcnMiOnsiWC1Ta2ltLVdhbGxldC1LZXkiOiIke1hfU0tJTV9XQUxMRVRfS0VZfSJ9fQ%3D%3D"
}{
"servers": {
"skim402": {
"type": "http",
"url": "https://skim402.com/api/mcp",
"headers": {
"X-Skim-Wallet-Key": "${X_SKIM_WALLET_KEY}"
}
}
}
}{
"mcpServers": {
"skim402": {
"httpUrl": "https://skim402.com/api/mcp",
"headers": {
"X-Skim-Wallet-Key": "${X_SKIM_WALLET_KEY}"
}
}
}
}extensions:
"skim402":
enabled: true
name: "skim402"
type: streamable_http
uri: "https://skim402.com/api/mcp"
headers:
"X-Skim-Wallet-Key": "${X_SKIM_WALLET_KEY}"
timeout: 300
Placeholders to fill from your own secret store: ${X_SKIM_WALLET_KEY}. The registry never accepts secret values.
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations3 of 3 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: skim_extract (idempotentHint); skim_read (idempotentHint); skim_signals (idempotentHint)tools.token_costabout 749 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns1 advisory to act on (malicious, or rated high or critical with a fix available): GHSA-96hv-2xvq-fx4p in [email protected] (indirect, fixed in 8.21.0); 4 more of lower severity or without a fixdeps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or laterdeps.resolvable[email protected] resolved: 601 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-52d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] npm600 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
| GHSA-96hv-2xvq-fx4pws: Memory exhaustion DoS from tiny fragments and data chunks | high | [email protected]indirect | fixed in 8.21.0 |
| GHSA-vcc3-ghjq-m6frdecode-uri-component: Denial of service via exponential decoding of malformed percent-encoded input | moderate | [email protected]indirect | fixed in 0.5.0 |
| GHSA-w5hq-g745-h8pquuid: Missing buffer bounds check in v3/v5/v6 when buf is provided | moderate | [email protected]indirect | fixed in 11.1.1 |
| GHSA-w5hq-g745-h8pquuid: Missing buffer bounds check in v3/v5/v6 when buf is provided | moderate | [email protected]indirect | fixed in 11.1.1 |
| GHSA-58qx-3vcg-4xpxws: Uninitialized memory disclosure | moderate | [email protected]indirect | fixed in 8.20.1 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://skim402.com/api/mcp streamable-http | none | yes | 100% | 254 ms | 2025-11-25 | 2026-10-20 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
skim-mcp | npm | 0.2.5 | npx | SKIM_API_KEY, SKIM_WALLET_PRIVATE_KEY |
skim_extractread-only | Use this when you need structured JSON from a public page (product, job, table, event, review, article, or your own schema), not a markdown dump. Prefer it over reading the page then parsing it yourself. Pass a preset or a JSON Schema. Values come only from the page, never invented. Empty extracts are not charged. Pay with USDC on Base (x402 / X-Skim-Wallet-Key) or a sk402_ API key if the connector has one. Do not use for a full-page read (skim_read) or login-walled pages. |
skim_readread-only | Use this when you need a public web page as clean markdown. Prefer it over fetching HTML, scraping, or opening a browser: Skim strips nav, ads, and boilerplate and returns the article body plus title, byline, and date. Public pages only (no login walls). On this MCP no API key and no wallet are required. Failed or empty reads are not charged. Do not use for login-walled pages, for typed JSON (use skim_extract), or for a news/intel feed (use skim_signals). |
skim_signalsread-only | Use this when you need the latest items from a curated intel feed (SEC filings, deals, AI news, regulations, and the other named feeds), not a one-off URL. Prefer it over crawling news homepages. Returns structured items, newest first. Costs $0.005 USDC per poll via x402, or 2 credits on a sk402_ key. Do not use to read an arbitrary URL (skim_read). |
Schemas: list_tools.
{
"name": "io.github.JessieJanie/skim402",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://skim402.com/api/mcp",
"type": "streamable-http",
"headers": [
{
"name": "X-Skim-Wallet-Key",
"isSecret": true,
"description": "Optional. Without it, skim_read works on the shared free tier. To pay per call via x402 wallet: add a Base wallet private key (fresh, low-balance agent wallet) — unlocks paid tools at $0.002/$0.005/$0.015. Card plan alternative (API key): https://skim402.com/pricing"
}
]
}
],
"version": "0.2.5",
"packages": [
{
"version": "0.2.5",
"transport": {
"type": "stdio"
},
"identifier": "skim-mcp",
"runtimeHint": "npx",
"registryType": "npm",
"environmentVariables": [
{
"name": "SKIM_API_KEY",
"isSecret": true,
"description": "Recommended. Card-plan API key (sk402_...). Get a free key at https://skim402.com/pricing. Takes priority over SKIM_WALLET_PRIVATE_KEY. Enables read_url, read_urls, extract_url, crawl_url, read_pdf, watch, and poll_signal without a wallet."
},
{
"name": "SKIM_WALLET_PRIVATE_KEY",
"isSecret": true,
"description": "Optional. Base-network wallet private key (0x-prefixed, 64 hex chars) for x402 pay-per-call if you are not using SKIM_API_KEY. Fund with a small amount of USDC on Base. Ignored when SKIM_API_KEY is set."
},
{
"name": "SKIM_MAX_PRICE_USD",
"description": "Optional cap on per-call price in USD (default 0.01). Wallet lane only. Raise (e.g. 0.05) for batch/extract/watch. Requests that would cost more than this are rejected without payment."
}
]
}
],
"repository": {
"url": "https://github.com/JessieJanie/skim402.git",
"source": "github"
},
"websiteUrl": "https://skim402.com",
"description": "Clean markdown and structured web data. Free card API key; wallet/x402 pay-per-call optional."
}