mcpcheck · demo

Linear (remote, OAuth) passing

https://mcp.linear.app/mcp
free preview run · last run 5 d ago (2026-09-02 18:05 UTC)
mcpcheck badge
Clean install n/a
0/1 hosts
Clients n/a
pending
OAuth pass
10 checks pass
Tool catalog pending
pending
Error ergonomics n/a
pending
Protocol n/a
0/0 scenarios

Clean install n/a

Fresh npm/uv cache, start over stdio (or connect for remote URLs), initialize + tools/list, on GitHub-hosted Linux, macOS and Windows runners.

HostStatusNodeServerToolsTimeResult
local macOS (local probe)n/av22.23.201.5 sneeds credentials (401)
AUTH_REQUIRED Streamable HTTP error: Error POSTing to endpoint: {"error":"invalid_token","error_description":"Missing or invalid access token"}
Add an Authorization header or OAuth refresh credentials to the enrollment.

Client compatibility n/a

ClaudeCursor inferredVS Code inferredPython SDK

Cursor and VS Code embed the official TypeScript SDK client; their chips are inferred from the TypeScript SDK rows (no GUI automation). Claude Code is verified with a claude mcp list health check — a real handshake over its own transport.

Clientlocal macOS
TypeScript SDK client (current)
vunknown
embedded by Cursor, VS Code, Claude Desktop, Windsurf
n/a
needs credentials (401)
AUTH_REQUIRED Streamable HTTP error: Error POSTing to endpoint: {"error":"invalid_token","error_description":"Missing or invalid access token"}
Add an Authorization header or OAuth refresh credentials to the enrollment.
TypeScript SDK client (previous minor)
vunknown
embedded by Cursor, VS Code
n/a
needs credentials (401)
AUTH_REQUIRED Streamable HTTP error: Error POSTing to endpoint: {"error":"invalid_token","error_description":"Missing or invalid access token"}
Add an Authorization header or OAuth refresh credentials to the enrollment.
Python SDK client (current)
vunknown
n/a
needs credentials (401)
AUTH_REQUIRED unauthenticated initialize answered 401
Add an Authorization header or OAuth refresh credentials to the enrollment.
Python SDK client (previous minor)
vunknown
n/a
needs credentials (401)
AUTH_REQUIRED unauthenticated initialize answered 401
Add an Authorization header or OAuth refresh credentials to the enrollment.
Claude Code (`claude mcp list`)
v2.1.196
embedded by Claude Code
n/a
needs credentials (401): Claude Code cannot complete a browser OAuth flow unattended
AUTH_REQUIRED unauthenticated initialize answered 401
Add a bearer token or OAuth refresh credentials to the enrollment; the runner then passes the access token as a header.

OAuth conformance pass

https://mcp.linear.app/mcp · AS https://mcp.linear.app · scopes read write

pass
Unauthenticated initialize returns 401
HTTP 401
pass
WWW-Authenticate points at the resource metadata
resource_metadata=https://mcp.linear.app/.well-known/oauth-protected-resource/mcp
pass
Well-known PRM paths
/.well-known/oauth-protected-resource/mcp, /.well-known/oauth-protected-resource
pass
PRM `resource` is this server's canonical URI
resource=https://mcp.linear.app/mcp
pass
PRM lists an authorization server
https://mcp.linear.app
info
Scopes advertised
read write
pass
Authorization server metadata is discoverable
issuer=https://mcp.linear.app; token_endpoint=https://mcp.linear.app/token
pass
PKCE S256 advertised
S256
pass
Dynamic client registration
registration_endpoint=https://mcp.linear.app/register
pass
Refresh tokens supported
authorization_code, refresh_token, urn:ietf:params:oauth:grant-type:jwt-bearer
pass
Public clients can use the token endpoint
client_secret_basic, client_secret_post, none

Tool catalog pending

No catalog captured yet.

Error ergonomics n/a

10 malformed inputs per tool (missing/mistyped/null/out-of-range/unknown fields …). Each error response is graded on code · cause · fix · retryable; heuristic grades.

No error samples yet.

Protocol conformance n/a

ScenarioStatusMessage

@modelcontextprotocol/conformance 0.1.16, generic server scenarios.

Badge

mcpcheck badge

[![mcpcheck](https://agentwares-agentcheck.vercel.app/mcpcheck/demo/badge/linear.svg)](https://agentwares-agentcheck.vercel.app/mcpcheck/demo/linear)

Machine-readable: report.json · trust.json