Search / io.github.oreillymedia/oreilly-expert
O'Reilly Expert MCP Server
R2· OAuth, onceGrounded, citable answers to tech questions from O'Reilly's library. Requires Expert MCP access.
v1.0.0 · active · website · descriptor JSON · versions
Search / io.github.oreillymedia/oreilly-expert
R2· OAuth, onceGrounded, citable answers to tech questions from O'Reilly's library. Requires Expert MCP access.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"oreilly-expert": {
"type": "http",
"url": "https://api.oreilly.com/api/expert/v1/mcp",
"headers": {
"Authorization": "Bearer ${mcp_access_token}"
}
}
}
}claude mcp add --transport http oreilly-expert https://api.oreilly.com/api/expert/v1/mcp --header "Authorization: Bearer ${mcp_access_token}"[mcp_servers.oreilly-expert]
url = "https://api.oreilly.com/api/expert/v1/mcp"
bearer_token_env_var = "mcp_access_token"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"oreilly-expert": {
"type": "remote",
"url": "https://api.oreilly.com/api/expert/v1/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:mcp_access_token}"
}
}
}
}{
"mcpServers": {
"oreilly-expert": {
"type": "http",
"url": "https://api.oreilly.com/api/expert/v1/mcp",
"headers": {
"Authorization": "Bearer ${mcp_access_token}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=oreilly-expert&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLm9yZWlsbHkuY29tL2FwaS9leHBlcnQvdjEvbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7bWNwX2FjY2Vzc190b2tlbn0ifX0%3D"
}{
"servers": {
"oreilly-expert": {
"type": "http",
"url": "https://api.oreilly.com/api/expert/v1/mcp",
"headers": {
"Authorization": "Bearer ${mcp_access_token}"
}
}
}
}{
"mcpServers": {
"oreilly-expert": {
"httpUrl": "https://api.oreilly.com/api/expert/v1/mcp",
"headers": {
"Authorization": "Bearer ${mcp_access_token}"
}
}
}
}extensions:
"oreilly-expert":
enabled: true
name: "oreilly-expert"
type: streamable_http
uri: "https://api.oreilly.com/api/expert/v1/mcp"
headers:
"Authorization": "Bearer ${mcp_access_token}"
timeout: 300
Placeholders to fill from your own secret store: ${mcp_access_token}. The registry never accepts secret values.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prmProtected Resource Metadata (RFC 9728) publishedauth.as_metadataauthorization server metadata reachableauth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMDauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo 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.
+website +reachable +uptime-100% ~updated-60d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.oreilly.com/api/expert/v1/mcp streamable-http | oauth2 AS: https://api.oreilly.com/api/expert/v1 | yes | 100% | 1010 ms | – | 2026-10-20 |
No tools observed. Tools appear once a credential-free probe can list them.
Schemas: list_tools.
{
"name": "io.github.oreillymedia/oreilly-expert",
"title": "O'Reilly Expert MCP Server",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.oreilly.com/api/expert/v1/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"value": "Bearer {mcp_access_token}",
"variables": {
"mcp_access_token": {
"isSecret": true,
"description": "Your O'Reilly personal access token, used only for token-based authentication. Leave unset to authenticate via OAuth. See https://learning.oreilly.com/apidocs/mcp/expert/#section/Authentication for details on generating a token, and ask your O'Reilly account administrator if you need the Expert MCP entitlement enabled."
}
},
"description": "Optional. OAuth is the recommended way to authenticate: OAuth-capable clients (e.g. Claude Code, Cursor, VS Code) start the OAuth flow automatically when no token is provided. Alternatively, supply a personal access token here for token-based authentication. Note that authenticating is necessary but not sufficient — your O'Reilly account must also carry the Expert MCP entitlement, or requests are rejected with HTTP 403."
}
]
}
],
"version": "1.0.0",
"websiteUrl": "https://learning.oreilly.com/apidocs/mcp/expert/",
"description": "Grounded, citable answers to tech questions from O'Reilly's library. Requires Expert MCP access."
}