Tangent
REMOTE · TANGENT.DIRECTORY
Hand-picked design references, UI patterns and the people behind them, each with why it fits.
Available components
Last scanned (12 hours ago)
Scores higher than 89% of remote servers
Reachable. Last reached 23 Oct 2026.
Category Design and Media
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 Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- 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 Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1792 tokens (~179/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management57
- Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- 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
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (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.
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 20. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 10. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
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 23 Oct 2026 · Probed https://tangent.directory/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.tangent.directory | CN=YR1,O=Let's Encrypt,C=US | 2 Oct 2026 | 31 Dec 2026 | RSA 2048 | SHA256-RSA | 51f148cf823f6f04621106c0db6072936b9 |
| SANs: *.tangent.directory, tangent.directory | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| 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 tangent.directory. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| directory. | present | 59725 | 8 | Verified |
| tangent.directory. | 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 |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), browsing-topics=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://tangent.directory/api/mcp | Verified | 200 | |
| http (plaintext) | http://tangent.directory/api/mcp | HTTPS enforced | 308 | https://tangent.directory/api/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 →
browse_vertical Browse a section ~260
The newest resources in one section: inspiration, components, motion, build, visuals, tools or learn. Use it to browse without a query, with the same filters as search_resources and cursor paging. Example: {"vertical": "components", "technology": "react", "limit": 20}
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Category slug or name, e.g. "finance", "component-libraries", "typography". |
| cursor | string | – | next_cursor from the previous call, with the same query and filters. Omit for the first page. |
| limit | integer | – | Results per page (1 to 50, default 20). |
| open_source | boolean | – | true: only open-source resources; false: only ones known not to be. |
| pricing | string | – | Pricing model. |
| technology | string | – | Technology slug or name, e.g. "react", "tailwind-css", "three-js". |
| type | string | – | Resource type, e.g. "website", "product", "library", "tool", "gallery", "article". |
| vertical | string | yes | Section: "inspiration", "components", "motion", "build", "visuals", "tools" or "learn". |
| Name | Type | Req | Description |
|---|---|---|---|
| ignored_filters | array | – | Filters this server could not apply yet; results are not narrowed by them. |
| next_cursor | string|null | yes | – |
| results | array | yes | – |
| vertical | string | yes | – |
No examples provided.
find_inspiration Find inspiration for a brief ~208
Turns a design brief into a short list of references (default 8, at most 10), each with `why` it fits: the pattern, style, category, technology or platform it shares with the brief, or how search matched it (e.g. "similar meaning"). It reads the brief against Tangent's taxonomy and synonyms and combines that with search; no AI calls. Use it when someone describes a screen or product they are about to design. `interpreted_as` shows how the brief was read. Example: {"brief": "onboarding for a fintech app, playful but clean", "platform": "mobile"}
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | What you are designing, in plain words, e.g. "onboarding for a fintech app, playful but clean". |
| limit | integer | – | How many picks (1 to 10, default 8). |
| platform | string | – | Prefer resources for this platform: "web", "mobile" or "desktop". |
| Name | Type | Req | Description |
|---|---|---|---|
| brief | string | yes | – |
| interpreted_as | array | yes | Taxonomy terms read from the brief. |
| results | array | yes | – |
No examples provided.
get_pattern Get a UI pattern ~92
One UI pattern: its definition, its best examples, related patterns and the technologies the examples use. Use it before designing that pattern. Example: {"slug": "empty-state", "limit": 8}
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | How many examples to return (1 to 60, default 12). |
| slug | string | yes | Pattern slug, e.g. "command-menu" or "empty-state". |
| Name | Type | Req | Description |
|---|---|---|---|
| definition | string|null | yes | – |
| examples | array | yes | – |
| name | string | yes | – |
| related_patterns | array | yes | – |
| slug | string | yes | – |
| summary | string|null | yes | – |
| tangent_url | string | yes | – |
| technologies | array | yes | – |
No examples provided.
get_person Get a person ~117
One person's profile: role, bio, website, social links, studios, what their site is built with (confirmed technologies) and their work on Tangent. Set include_image to also get a small preview of their site. Example: {"slug": "emil-kowalski"}
| Name | Type | Req | Description |
|---|---|---|---|
| include_image | boolean | – | Also attach a small WebP thumbnail (under ~100 KB) as an image block. Off by default to save tokens. |
| slug | string | yes | Person slug, e.g. "rauno-freiberg". |
| Name | Type | Req | Description |
|---|---|---|---|
| added_at | string|null | yes | – |
| avatar_url | string|null | yes | – |
| bio | string|null | yes | – |
| built_with | array | yes | Confirmed technologies their site is built with. |
| image_url | string|null | yes | Their site's OG image, else their avatar: the stored image file, served directly. |
| links | array | yes | – |
| name | string | yes | – |
| resource_count | integer | yes | – |
| role | string|null | yes | – |
| site_url | string|null | yes | Their site's own address, untagged. |
| slug | string | yes | – |
| studios | array | yes | – |
| tangent_url | string | yes | Their profile on Tangent. |
| thumbnail_url | string|null | yes | The same URL as image_url (people's images have no smaller stored copy). |
| website | string|null | yes | Visit link for their site (tagged utm_source=tangent-mcp). |
| work | array | yes | Their published work on Tangent, newest first. |
No examples provided.
get_resource Get a resource ~115
Everything Tangent knows about one resource: descriptions, taxonomy, editorial notes, the people behind it, and its related resources (tangents) with reasons. Use it to go deeper on a search pick. Set include_image to also get a small screenshot. Example: {"slug": "linear"}
| Name | Type | Req | Description |
|---|---|---|---|
| include_image | boolean | – | Also attach a small WebP thumbnail (under ~100 KB) as an image block. Off by default to save tokens. |
| slug | string | yes | Resource slug, e.g. "linear". |
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | yes | – |
| category | string|null | yes | – |
| collections | array | yes | – |
| description | string|null | yes | – |
| domain | string | yes | – |
| image_url | string|null | yes | Full-size preview (screenshot, else the site's OG image): the stored image file, served directly. |
| implementation | – | yes | – |
| last_checked_at | string|null | yes | – |
| license | string|null | yes | SPDX licence id, e.g. "MIT". |
| long_description | string|null | yes | – |
| match_reasons | array | – | – |
| name | string | yes | – |
| notable_for | string|null | yes | – |
| notes | array | yes | – |
| open_source | boolean|null | yes | true: OSI-licensed; false: source-available or closed; null when unknown. |
| patterns | array | yes | – |
| people | array | yes | – |
| platforms | array | yes | – |
| pricing | string|null | yes | free, freemium, paid or open_source; null when unknown. |
| sections | array | yes | – |
| site_url | string | yes | The site's own address, untagged. Use it to compare, dedupe or cite. |
| slug | string | yes | – |
| studios | array | yes | – |
| styles | array | yes | – |
| tags | array | yes | – |
| tangent_url | string | yes | This resource's page on Tangent. |
| tangents | array | yes | – |
| technologies | array | yes | – |
| thumbnail_url | string|null | yes | A smaller stored copy of image_url (a screenshot's 720px-wide WebP) when one exists; otherwise the same URL as image_url. |
| type | string | yes | – |
| url | string | yes | Visit link for the site (tagged utm_source=tangent-mcp). Use this one when linking people to the site. |
No examples provided.
list_patterns List UI patterns ~46
Every UI and interaction pattern resources are filed under (Command Menu, Onboarding, Empty State and more), with example counts. Use it to pick a slug for get_pattern. Example: {}
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
list_people List people ~165
Designers and design engineers in the catalogue, featured first, then by name, with optional technology and role filters and cursor paging. Use search_people to find someone by name or focus. Example: {"role": "design engineer", "technology": "nextjs", "limit": 20}
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | next_cursor from the previous call, with the same query and filters. Omit for the first page. |
| limit | integer | – | Results per page (1 to 50, default 20). |
| role | string | – | Words in their role, e.g. "design engineer" or "product designer". |
| technology | string | – | Only people whose site is built with this technology, e.g. "nextjs", "astro", "framer". |
| Name | Type | Req | Description |
|---|---|---|---|
| next_cursor | string|null | yes | – |
| results | array | yes | – |
No examples provided.
related_resources Related resources ~66
Resources related to one resource, each with the reason (e.g. "shares Command Menu", "same maker"). Use it to follow tangents from a site you like. Example: {"slug": "stripe"}
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Resource slug, e.g. "stripe". |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
| slug | string | yes | – |
No examples provided.
search_people Search people ~170
Find designers and design engineers by name, role, focus or stack, ranked, with optional technology and role filters. Example: {"query": "motion", "role": "design engineer"}
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | next_cursor from the previous call, with the same query and filters. Omit for the first page. |
| limit | integer | – | Results per page (1 to 50, default 10). |
| query | string | yes | Name, role, focus or stack, e.g. "motion" or "Rauno". |
| role | string | – | Words in their role, e.g. "design engineer" or "product designer". |
| technology | string | – | Only people whose site is built with this technology, e.g. "nextjs", "astro", "framer". |
| Name | Type | Req | Description |
|---|---|---|---|
| next_cursor | string|null | yes | – |
| query | string | yes | – |
| results | array | yes | – |
No examples provided.
search_resources Search Tangent ~310
Ranked search over Tangent's catalogue of design and design-engineering resources (sites, products, component libraries, tools, articles). Use it when you know roughly what you want; narrow with vertical, category, technology, type, pricing or open_source, and page with cursor. For a whole brief, use find_inspiration. Example: {"query": "command menu", "technology": "react", "limit": 5}
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Category slug or name, e.g. "finance", "component-libraries", "typography". |
| cursor | string | – | next_cursor from the previous call, with the same query and filters. Omit for the first page. |
| limit | integer | – | Results per page (1 to 50, default 10). |
| open_source | boolean | – | true: only open-source resources; false: only ones known not to be. |
| pricing | string | – | Pricing model. |
| query | string | yes | What to look for, e.g. "command menu" or "dark dashboard". |
| technology | string | – | Technology slug or name, e.g. "react", "tailwind-css", "three-js". |
| type | string | – | Resource type, e.g. "website", "product", "library", "tool", "gallery", "article". |
| vertical | string | – | Section: "inspiration", "components", "motion", "build", "visuals", "tools" or "learn". |
| Name | Type | Req | Description |
|---|---|---|---|
| ignored_filters | array | – | Filters this server could not apply yet; results are not narrowed by them. |
| next_cursor | string|null | yes | – |
| query | string | yes | – |
| related_terms | array | yes | – |
| results | array | yes | – |
No examples provided.
How do I install the Tangent MCP server?
Tangent is a hosted endpoint at https://tangent.directory/api/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 · tangent.directory
claude mcp add --transport http directory-tangent-tangent 'https://tangent.directory/api/mcp'
What is the Tangent MCP server?
Tangent is an MCP server listed in the public MCP registry as directory.tangent/tangent. Hand-picked design references, UI patterns and the people behind them, each with why it fits. This page covers its hosted endpoint (https://tangent.directory/api/mcp).
Is the Tangent MCP server safe to use?
Tangent scores 83 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 Tangent MCP server expose?
Tangent exposes 10 tools: find_inspiration, search_resources, browse_vertical, get_resource, related_resources, and 5 more. Their descriptions and schemas cost roughly 1,549 tokens of context every time the server is loaded.
Does the Tangent MCP server require authentication?
No. We connected to Tangent without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Tangent MCP server still maintained?
Tangent is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.