skim402
Server Details
Clean markdown and structured web data. Free card API key; wallet/x402 pay-per-call optional.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- JessieJanie/skim402
- GitHub Stars
- 2
- Server Listing
- skim-mcp
Available Tools
3 toolsskim_extractExtract structured data from a web pageARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Fully-qualified URL to read and extract from. | |
| preset | No | Named extraction preset. Provide either this or `schema`. | |
| schema | No | JSON Schema object (top-level {"type":"object", ...}) describing the desired output. Provide either this or `preset`. | |
| instructions | No | Optional natural-language hint to bias the extraction. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false. The description adds genuinely novel behavioral context beyond this: 'Values come only from the page, never invented' (hallucination guarantee), 'Empty extracts are not charged' (pricing behavior), and payment requirements (USDC on Base x402 / X-Skim-Wallet-Key or sk402_ API key). This is meaningful value beyond annotations, though it stops short of describing return format details.
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?
Purpose is front-loaded in the first sentence, then routing guidance, then behavioral/payment details, then exclusions last. Every sentence earns its place and no filler exists. Slightly long, but the payment and hallucination-avoidance details are necessary operational information that justifies the length.
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 4-param tool with full schema coverage and no output schema, the description covers when to use, when not to use, payment requirements, and behavioral guarantees. The only notable gap is that no output format is described, but the tool's purpose (returning structured JSON matching the given preset/schema) makes this largely self-evident.
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%, so the schema already documents all four parameters (url, preset with enum, schema, instructions). The description reinforces the preset/schema mutual exclusivity ('Provide either this or schema') which mirrors the schema but adds emphasis. Baseline 3 is appropriate since the schema carries the load.
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 verb (extract) and resource (public web page → structured JSON), enumerates concrete content types (product, job, table, event, review, article), and explicitly distinguishes itself from skim_read (full-page markdown read) and skim_signals. An agent can unambiguously tell what this tool does and which sibling it isn't.
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?
Gives explicit when-to-use ('when you need structured JSON from a public page'), a preference directive ('Prefer it over reading the page then parsing it yourself'), and explicit exclusions ('Do not use for a full-page read (skim_read) or login-walled pages'). Sibling is named with the exact routing condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skim_readRead a web page as clean MarkdownARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Fully-qualified URL to fetch and clean (https://...). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as read-only, open-world, and non-destructive. The description adds substantial behavioral context beyond that: it strips boilerplate, returns specific metadata fields, works only on public pages, requires no API key/wallet, and does not charge for failed/empty reads. This fully discloses the tool's behavior and side conditions.
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?
Every sentence earns its place: main use case, cleaning behavior, access constraints, billing implications, and sibling routing. The description is front-loaded with the primary purpose and alternatives, and contains no filler or repetition.
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 one-parameter, read-only tool with a fully documented schema and no output schema, the description is complete: an agent knows what to pass, what to expect back, when to use it, when not to use it, and what side effects (charging) apply. Nothing essential is missing.
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 already provides 100% coverage for the single URL parameter, including format and an example. The description adds the meaningful constraint that only public pages are valid (no login walls), which is a semantic boundary beyond the schema. This is a small but real addition, so a 4 is warranted rather than a baseline 3.
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 verb ('read'/'fetch and clean') and resource ('public web page as clean markdown'), and differentiates itself from siblings by naming the output (article body plus title, byline, date) and the cleaning behavior (strips nav, ads, boilerplate). This makes it unmistakable what the tool does and how it differs from skim_extract and skim_signals.
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 explicitly says when to use it ('when you need a public web page as clean markdown'), prefers it over HTML fetching/scraping/browser, and explicitly excludes login-walled pages, typed JSON (use skim_extract), and news/intel feeds (use skim_signals). This is model usage guidance with named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skim_signalsGet a Skim intelligence signal feedARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items to return (default 50, no upper cap). | |
| signal | Yes | Which signal feed to fetch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only/open-world behavior, and the description adds meaningful beyond-that context: returned items are structured and newest-first, and the poll charges a fee/credits. It does not cover pagination/rate limits, but these are less critical given the annotations and 2-param schema.
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?
Four compact sentences each carry distinct value: trigger, preferred alternative, return behavior, cost/billing, and exclusion. The key scoping information is front-loaded before the billing detail.
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 simple two-parameter read-only tool, the description covers purpose, usage boundaries, output ordering, and cost/authentication enough to call it correctly. There is no output schema, but the description's 'structured items, newest first' is a reasonable minimum without listing fields.
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%, so the schema fully documents the signal enum and limit parameter. The description mentions example feeds but adds no parameter-specific semantics beyond what the schema already provides, so the baseline of 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 clearly states the tool returns the latest items from a curated intel feed and explicitly contrasts this with a one-off URL, which separates it from skim_read. It names representative feeds and a precise outcome ('structured items, newest first').
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?
It gives an explicit trigger ('Use this when you need the latest items from a curated intel feed'), recommends it over crawling news homepages, and names the exclusion ('Do not use to read an arbitrary URL') with the correct sibling (skim_read).
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. Dates show when Glama detected each change.
1 tool update
- Changed
skim_signals1 field changed- changed
Input schema / properties / signal / enumPrevious value: -[ - "ai-news", - "sec-filings", - "deals", - "research", - "campaign-finance", - "film-incentives", - "crypto-news", - "macro", - "security", - "regulations", - "courts", - "recalls", - "launches", - "trending", - "energy", - "entertainment", - "studio-jobs", - "entity-formations" -]New value: +[ + "ai-news", + "sec-filings", + "deals", + "research", + "campaign-finance", + "crypto-news", + "macro", + "security", + "regulations", + "courts", + "recalls", + "launches", + "trending", + "energy", + "entertainment" +]
1 tool update
- Changed
skim_signals2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max items to return (default 50)."New value: +"Max items to return (default 50, no upper cap)." - removed
Input schema / properties / limit / maximumRemoved value: -100
3 tool updates
- First observed
skim_extract - First observed
skim_read - First observed
skim_signals
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Web page or HTML to clean LLM-ready Markdown or JSON. x402 pay-per-call, $0.005, no API key.
Stealth scraping API for AI agents. Clean Markdown from any URL. x402 crypto payments.
Pay-per-request webpage-to-Markdown extraction for AI agents. $0.005 USDC via x402 on Solana.
URL to clean markdown for LLMs: a polite, robots.txt-respecting web reader. Free, no API key
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables extracting clean Markdown from any webpage by paying $0.005 USDC per call via the x402 protocol, with automatic wallet-based payment settlement.11MIT
- AlicenseNot gradedqualityDmaintenanceEnables extracting clean, structured markdown from any URL—stripping nav, ads, and scripts—for RAG pipelines and AI research agents, with pay-per-call micropayments via x402.MIT
- FlicenseNot gradedqualityCmaintenanceScrapes dynamic web pages via headless Chrome, stripping clutter and ads, and returns clean Markdown or JSON content. It integrates with Cloudflare Workflows and monetizes each extraction through the x402 protocol.-
- AlicenseAqualityDmaintenanceConverts URLs and raw HTML to clean Markdown, enabling AI assistants to read web pages for summarization, analysis, or ingestion.2191MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct purpose: skim_read returns clean markdown, skim_extract returns structured JSON, and skim_signals returns curated feed items. The descriptions explicitly warn against cross-use, which removes ambiguity for an agent.
All tools share the skim_ prefix and use lowercase snake_case, which is predictable. skim_extract and skim_read use verb-style names, while skim_signals is a noun-style name, a minor deviation from a strict verb pattern.
Three tools is a lean but well-scoped set for a web-reader/extractor/feed service. Each tool covers a meaningful, non-redundant capability and earns its place.
The core workflows of reading a page, extracting structured data, and polling curated feeds are covered. Minor gaps exist: there is no discovery tool for available extraction presets or named signal feeds, but agents can likely work around this with prior knowledge.