Highlyt
REMOTE · MCP.HIGHLYT.APP
Highlight anything you read. Then ask your AI about it: search, read and edit your highlights.
Available components
Last scanned (22 hours ago)
Scores higher than 81% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Productivity and Notes
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 Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability67
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2479 tokens (~88/item across 28 items; 28 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 96% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 28 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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.
- 4 Nov 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 3 Nov 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 2 Nov 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 1 Nov 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 31 Oct 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 30 Oct 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 29 Oct 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 28 Oct 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day 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 4 Nov 2026 · Probed https://mcp.highlyt.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=highlyt.app | CN=YE2,O=Let's Encrypt,C=US | 22 Oct 2026 | 20 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 630d5ed60e9909f1e0dee63e0be0b0722ba |
| SANs: *.highlyt.app, highlyt.app | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.highlyt.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| highlyt.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.highlyt.app/.well-known/oauth-protected-resource/mcp"
Bearer resource_metadata="https://mcp.highlyt.app/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://mcp.highlyt.app/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.highlyt.app/mcp |
| Authorisation server | https://xzxzgrtbcmgcqprdukmg.supabase.co/auth/v1 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.highlyt.app/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.highlyt.app/mcp | HTTPS enforced | 301 | https://mcp.highlyt.app/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 →
highlyt_bulk_create_highlights Bulk Create Highlights ~127
Create multiple text-based highlights in one batch (max 10 per request). Efficient for chapter analysis — create highlights in batches of up to 10. If you have more than 10, split into multiple calls. Highlight format: {page_number: int, text: str, comment?: str, color?: str} Colors: amber (#E5A84B) core ideas, sage (#6BBF8A) action items, sky (#5BA3D9) questions.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for creating multiple text-based highlights at once. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_create_highlight Create Highlight ~106
Create a new highlight in a document. Uses react-pdf-highlighter-extended format: - position: ScaledPosition with boundingRect, rects, pageNumber - content: {text: "..."} or {image: "..."} - highlight_type: "text" or "area" - comment: User's comment Colors should be hex codes (e.g., #FFEB3B for yellow).
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for creating a highlight. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_create_highlight_link Create Highlight Link ~279
Create a link between two highlights to form an insight thread. Supports both same-document and cross-document linking. IMPORTANT — parent/child semantics: - parent_highlight_id = the highlight you are viewing (the "context" highlight) - child_highlight_id = the highlight you are linking TO (the "related" highlight) - link_type describes what the CHILD does to the PARENT: - supports: "child supports parent" (child provides evidence for parent) - contradicts: "child contradicts parent" (child challenges parent) - expands: "child expands parent" (child elaborates on parent) - questions: "child questions parent" (child raises questions about parent) - related: general connection For cross-document links, set target_document_id to the document containing the child highlight. If omitted, both highlights are assumed to be in source_document_id. Example: If highlight A says "GDP grew 5%" and you want to link highlight B "Exports increased 12%" as supporting evidence, then: parent_highlight_id = A (the claim), child_highlight_id = B (the evidence), link_type = "supports" (B supports A).
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for creating a link between two highlights (same-doc or cross-doc). |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_create_text_highlight Create Text Highlight ~77
Create a text-based highlight on a specific page. Use this after reading page content with highlyt_get_page_text. The highlight will appear in the sidebar and be searchable/exportable. Copy the exact text from the page content for the 'text' field.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for creating a text-based highlight. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_delete_cluster_summary Delete Cluster Summary ~48
Delete a cluster summary from the knowledge graph. This removes the summary record but does not affect the highlights or their links.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for deleting a cluster summary. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_delete_highlight Delete Highlight ~34
Delete a highlight permanently. This action cannot be undone.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for deleting a highlight. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_delete_highlight_link Delete Highlight Link ~44
Delete a link between two highlights. This removes the connection but does not delete the highlights themselves.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for deleting a highlight link. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_export_highlights Export Highlights ~82
Export document highlights for AI context with pagination. Returns up to 'limit' highlights (default 20, max 50) starting from 'offset'. Use has_more and next_offset to paginate through all highlights. Includes document metadata, color meanings, and insight threads relevant to the returned highlights.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for exporting highlights. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_export_references Export Research References ~57
Export reviewed references as BibTeX, RIS, or canonical CSL-JSON. This always excludes drafts. Never cite a draft as a verified source.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for a portable, reviewed-only reference export. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_export_research_brief_markdown Export Research Brief Markdown ~42
Export a portable researcher-authored Markdown brief with safe receipts.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Read a source-linked research brief by UUID. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_cross_document_links Get Cross-Document Links ~66
List all cross-document highlight links for the current user. Returns links where source_document_id != target_document_id, with metadata about both source and target documents. Useful for exploring connections across your entire library.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for listing cross-document highlight links. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_document Get Document ~43
Get detailed information about a document. Returns full metadata including book context, reading progress, and organizational information.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for getting a document. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_document_images Get Document Images ~173
Retrieve images (charts, graphs, figures, diagrams, photos) and their surrounding text context from an EPUB or web clip document. WHEN TO USE THIS TOOL: - User asks about a chart, graph, figure, diagram, or image in a document - User wants visual data or illustrations from a book/article - User references "Figure X.X" or any visual element Returns each image's base64 data URI, alt text, dimensions, chapter location, and the paragraph text before/after it so you can describe what the image shows. Use the optional query parameter to filter images by surrounding text context. For PDFs, images are embedded in the rendered pages — use highlyt_get_page_text instead.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for retrieving images and their surrounding context from EPUB/web documents. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_highlight_links Get Highlight Links ~70
Get all links connected to a specific highlight. Returns parent links (where this highlight is referenced by others) and child links (where this highlight references others). Useful for exploring how a specific idea connects to other highlights.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for getting links for a specific highlight. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_page_text Get Page Text ~76
Retrieve the text content of specific pages from a document. Use this to read document content before creating highlights. Returns up to 5 pages per request. If the requested range exceeds 5 pages, use has_more and next_page_start to paginate through remaining pages.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for retrieving page text content. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_reference Get Research Reference ~31
Get one reviewed research reference. Never cite a draft without explicit permission.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_get_research_brief Get Research Brief ~71
Read a researcher-authored brief with verified, reviewed source receipts. Use this as context only. Cite only the included receipts. The tool does not reveal a draft reference or proposed evidence as support for a claim.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Read a source-linked research brief by UUID. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_list_cluster_summaries List Cluster Summaries ~207
List all cluster summaries for a document's knowledge graph. Returns each summary with its highlight_ids array — the highlights that were in the cluster when the summary was last generated. DETECTING STALE SUMMARIES: To check if summaries need updating after adding new links: 1. Call highlyt_list_highlight_links to get all current links 2. Compute connected components (group highlights by connectivity) 3. Call this tool to get stored summaries 4. For each summary, check if its highlight_ids is a SUBSET of a current component - If highlight_ids == component_ids → summary is current - If highlight_ids ⊂ component_ids → summary is STALE (cluster grew) - Set difference (component_ids - highlight_ids) = newly added highlights 5. Regenerate stale summaries with highlyt_upsert_cluster_summary, passing the FULL current component highlight_ids
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for listing cluster summaries. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_list_documents List Documents ~52
List PDF documents in your Highlyt library. Returns documents sorted by last update time with pagination. Filter by shelf_id to see documents in a specific collection.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for listing documents. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_list_highlight_links List Highlight Links ~99
List highlight links (insight threads) in a document with pagination. Returns up to 'limit' links (default 50, max 100) starting from 'offset'. Use has_more and next_offset to paginate through all links. Each link has a type: 'related', 'supports', 'contradicts', 'expands', or 'questions'.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for listing highlight links in a document. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_list_highlights List Highlights ~80
List highlights in a document with pagination. Returns up to 'limit' highlights (default 20, max 50) starting from 'offset'. Use has_more and next_offset to paginate through all highlights. Each highlight includes the color meaning (e.g., "Key concepts", "Questions").
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for listing highlights. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_list_references List Research References ~56
List reviewed references, optionally in one project. Drafts are excluded unless include_drafts is explicitly true. Never cite a draft as a verified source.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for listing or exporting research references. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_list_research_projects List Research Projects ~25
List the caller's research projects for a bounded AI research task.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_search Full-Text Library Search ~165
Full-text search across your entire library — documents, highlights, and page content. This searches the actual text content of your PDFs (every page), highlight text/comments, and document metadata (title, author, keywords). Results are ranked by relevance with text snippets showing where matches were found. Supports natural language queries and websearch syntax: - Simple: "machine learning" - Exact phrase: '"neural network"' - OR: "neural OR deep" - Exclude: "learning -supervised" Each result includes match_type ('content', 'highlight', or 'metadata'), the page number where the match was found, and a snippet with **bold** markers around matching terms.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for full-text search across all document content. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_search_highlights Search Highlights ~57
Search highlights across your library. Finds highlights containing the query text. Each result includes the color meaning based on the document's definitions. Optionally limit to a specific document.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for searching highlights. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_update_highlight Update Highlight ~38
Update a highlight's color or comment. Only provided fields will be updated.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for updating a highlight. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_update_highlight_link Update Highlight Link ~42
Update a highlight link's relationship type or note. Only provided fields will be updated.
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for updating a highlight link. |
Structured output declared, but exposes no named fields.
No examples provided.
highlyt_upsert_cluster_summary Upsert Cluster Summary ~232
Create or update a summary for a connected component cluster in the knowledge graph. A cluster is a group of linked highlights that form a connected component. IMPORTANT: - highlight_ids must be the COMPLETE, CURRENT set of highlight UUIDs in the cluster (not just newly added ones). The array is sorted internally for matching. - If a summary already exists for this document_id + highlight_ids combination, it will be UPDATED (upsert behavior). - When updating a stale summary (cluster grew due to new links), pass the FULL updated highlight_ids array so the stored record reflects the current cluster. - The summary should describe thematic connections across ALL highlights in the cluster, including any newly added ones. Typical workflow: 1. Read highlights with highlyt_list_highlights 2. Read links with highlyt_list_highlight_links 3. Compute connected components from links 4. For each component, generate a summary covering all highlights 5. Call this tool with the component's highlight_ids and generated summary
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | yes | Parameters for creating or updating a cluster summary. |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the Highlyt MCP server?
Highlyt is a hosted endpoint at https://mcp.highlyt.app/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 · mcp.highlyt.app
claude mcp add --transport http app-highlyt-highlyt 'https://mcp.highlyt.app/mcp'
What is the Highlyt MCP server?
Highlyt is an MCP server listed in the public MCP registry as app.highlyt/highlyt. Highlight anything you read. Then ask your AI about it: search, read and edit your highlights. This page covers its hosted endpoint (https://mcp.highlyt.app/mcp).
Is the Highlyt MCP server safe to use?
Highlyt scores 80 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 Highlyt MCP server expose?
Highlyt exposes 28 tools: highlyt_list_documents, highlyt_get_document, highlyt_get_research_brief, highlyt_export_research_brief_markdown, highlyt_list_highlights, and 23 more. Their descriptions and schemas cost roughly 2,479 tokens of context every time the server is loaded.
Does the Highlyt MCP server require authentication?
Yes. Highlyt asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Highlyt MCP server still maintained?
Highlyt is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.