JEV
JEV Route API
Discover a published Nexscope data API or one of seven fixed JEV evaluation presets without executing the match. The routing intent is sent to TypeSafe for evaluation. Requires an active Nexscope subscription. Each route or evaluate call deducts 1 Nexscope credit; any selected data API retains its existing billing. Route and evaluate share limits of 20 requests per user per minute, 200 requests globally per minute, and 5,000 requests globally per rolling day; each route or evaluate call counts as one request.
nexscope_route_apihttps://api.nexscope.ai/mcptools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "jev-route-1",
"method": "tools/call",
"params": {
"name": "nexscope_route_api",
"arguments": {
"categorySlug": "amazon-marketplace-intelligence",
"intent": "Fetch Amazon product reviews by ASIN so I can analyze customer pain points"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
intent | string | required | One routing intent. It is used only for discovery and is never converted into API or evaluation input. Example: Fetch Amazon product reviews by ASIN so I can analyze customer pain points |
categorySlug | string | optional | Optional current public catalog category, or jev-evaluation to limit discovery to the fixed presets. Example: amazon-marketplace-intelligence |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
code | integer | required | Zero on success; non-zero for validation, access, quota, or availability errors. |
data | object | required | For matched, call the returned endpoint separately after collecting its required fields. For ambiguous, ask the user to clarify and route again. For no_match, do not invent or execute a capability. |
data.candidates | array | required | Up to three clarification candidates for an ambiguous result. |
data.candidates[] | object | required | Up to three clarification candidates for an ambiguous result. |
data.catalogVersion | string | required | Catalog timestamp used for this routing decision. |
data.confidence | number | null | required | Confidence value used by this API operation. Minimum: 0 Maximum: 1 |
data.match | any | required | Null for ambiguous and no_match responses. |
data.models | array | required | Resolved model versions used by the routing stages. |
data.models[] | string | required | Resolved model versions used by the routing stages. |
data.policyVersion | string | required | Server-owned routing policy version. |
data.reason | string | required | Reason value used by this API operation. Allowed: matched, clarification_required, no_supported_api |
data.status | string | required | Status value used by this API operation. Allowed: matched, ambiguous, no_match |
msg | string | required | Response message. |
Published data API match
| Name | Type | Required | Description |
|---|---|---|---|
data.match | object | required | Null for ambiguous and no_match responses. |
data.match.docsPath | string | required | Docs path value used by this API operation. |
data.match.endpoint | string | required | Endpoint value used by this API operation. |
data.match.kind | string | required | Kind value used by this API operation. Constant: skill_api |
data.match.mcpToolName | string | required | Mcp tool name value used by this API operation. |
data.match.method | string | required | Method value used by this API operation. Constant: POST |
data.match.name | string | required | Name value used by this API operation. |
data.match.schemaEndpoint | string | required | Schema endpoint value used by this API operation. |
data.match.slug | string | required | Slug value used by this API operation. |
Fixed JEV use-case match
| Name | Type | Required | Description |
|---|---|---|---|
data.match | object | required | Null for ambiguous and no_match responses. |
data.match.docsPath | string | required | Docs path value used by this API operation. |
data.match.endpoint | string | required | Endpoint value used by this API operation. |
data.match.kind | string | required | Kind value used by this API operation. Constant: jev_use_case |
data.match.mcpToolName | string | required | Mcp tool name value used by this API operation. |
data.match.method | string | required | Method value used by this API operation. Constant: POST |
data.match.name | string | required | Name value used by this API operation. |
data.match.schemaEndpoint | string | required | Schema endpoint value used by this API operation. |
data.match.schemaPointer | string | required | Schema pointer value used by this API operation. |
data.match.useCase | string | required | Use case value used by this API operation. |
One of option 3
| Name | Type | Required | Description |
|---|---|---|---|
data.match | null | required | Null for ambiguous and no_match responses. |
Examples
Example arguments
{
"categorySlug": "amazon-marketplace-intelligence",
"intent": "Fetch Amazon product reviews by ASIN so I can analyze customer pain points"
}Example structuredContent
{
"code": 0,
"data": {
"candidates": [],
"catalogVersion": "<catalog version>",
"confidence": 0.91,
"match": {
"docsPath": "/api-docs/amazon-reviews-list?view=api",
"endpoint": "/api/skill-api/v1/skills/amazon-reviews-list/run",
"kind": "skill_api",
"mcpToolName": "nexscope_amazon_reviews_list",
"method": "POST",
"name": "Amazon Reviews List",
"schemaEndpoint": "/api/skill-api/v1/skills/amazon-reviews-list",
"slug": "amazon-reviews-list"
},
"models": [
"<resolved model>"
],
"policyVersion": "jev-routing-v2",
"reason": "matched",
"status": "matched"
},
"msg": "success"
}