JEV
JEV Evaluate API MCP
Evaluate text against predefined criteria or your own questions. Call the JEV Content Evaluation API via REST or MCP with your Nexscope API key.
JEV Evaluate API AI Prompts & Use Cases
After connecting this MCP tool to your AI assistant, you can ask the questions below. Replace bracketed placeholders with your own inputs and use the supported values in Arguments.
New to Nexscope MCP? Follow the connection guide, then use the prompts below. The Integration and Parameters & Response tabs contain the connection steps, call example, and technical reference.
1. Check A Draft Response
Prompt: Check [draft response] against the response-safety preset. Explain the returned decision without sending or publishing the draft.
2. Triage Supplied IP Evidence
Prompt: Evaluate [supplied product and IP evidence] with the IP-risk preset. Keep uncertainty explicit; do not turn the result into a legal clearance.
3. Evaluate SEO Relevance
Prompt: Evaluate [page content and search intent] with the SEO-relevance preset, reporting only supported dimensions.
4. Check A Claim Against Supplied Evidence
Prompt: Evaluate [claim or quotation] against [supplied source evidence]. Report missing evidence instead of filling it from memory.
5. Check Keyword Business Relevance
Prompt: Evaluate [candidate keywords with IDs] against [business facts]. Keep decisions tied to the supplied IDs and facts.
6. Check Whether Keywords Belong Together
Prompt: Evaluate [candidate keywords and supplied SERP evidence] for same-page clustering. Explain the returned fit decisions without inventing search results.
7. Check Product And Keyword Fit
Prompt: Evaluate [candidate keywords with IDs] against [Amazon product facts]. Keep any fit decision limited to the supplied product evidence.
8. Evaluate Evidence With Yes-Or-No Questions
Prompt: Evaluate [shared evidence] using [one to 32 questions] that request yes-or-no assessments. Give each question a short identifier and a specific question; include my definitions of yes and no when supplied. Use custom evaluation without a preset, and report the returned answers without executing an action.
9. Ask Custom Choice Questions
Prompt: Evaluate [shared evidence] using [one to 32 questions] that ask you to choose among my supplied options. Give each question an identifier and two to 255 labeled options, with descriptions where needed. Use custom evaluation without a preset and report only the returned choices.
10. Ask Custom Score Questions
Prompt: Evaluate [shared evidence] using [one to 32 questions] on my supplied scoring scales. Give each question an identifier and two to 32 ordered level descriptions, starting at zero. Explain that the returned score is a probability-weighted average, not a measured fact. Use custom evaluation without a preset.
What You Need to Provide
Choose one mode: a preset with its matching input, or shared context with typed custom questions. Never mix the two modes.
Preset inputs and custom question structures must follow the nested schema. Evaluation is advisory and does not execute another API or publish content.
Step 1 · Connect
Connect Your AI Assistant
Connect a compatible MCP client to Nexscope, then select this tool from your assistant. Use the connection settings in your client to complete authentication.
POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxUsing an API key? Get your key from API Access and include it in the Authorization header shown above.
Call this MCP tool
nexscope_jev_evaluatehttps://api.nexscope.ai/mcptools/callInitialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "jev-evaluate-1",
"method": "tools/call",
"params": {
"name": "nexscope_jev_evaluate",
"arguments": {
"input": {
"content": "Never share passwords. Contact customer support through the official website."
},
"useCase": "response_guardrails"
}
}
}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 |
|---|---|---|---|
input | object | optional | Fields depend on the selected preset; see the mode schemas below. |
questions | object | optional | Required in custom mode. 1–32 independent questions, keyed by caller-defined IDs. |
state | string | object | array | optional | Required in custom mode. Non-empty context shared by every question; supplied data is sent to TypeSafe. Minimum length: 1 Minimum items: 1 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Allowed: response_guardrails, ip_risk_triage, seo_relevance, evidence_check, keyword_business_relevance, keyword_cluster_fit, amazon_keyword_product_fit |
Preset mode
response_guardrails
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Checks credential_exposure, harmful_instruction, deceptive_claim, instruction_override, and severity. The fixed server policy maps the checks to pass, review, or block. |
input.content | string | required | Authorized response or draft content. Minimum length: 1 Maximum length: 6000 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: response_guardrails |
ip_risk_triage
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Checks trademark, copyright, patent, other IP, and insufficient-context signals plus risk type and severity. The result always requires human review and is not legal clearance. |
input.text | string | required | Authorized product or description text for advisory IP-risk triage. Minimum length: 1 Maximum length: 4000 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: ip_risk_triage |
seo_relevance
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Requires query and at least one supplied title, metaDescription, or contentExcerpt. Scores relevance only; it does not predict rankings, traffic, search volume, or intent data. |
input.contentExcerpt | string | optional | Content excerpt value used by this API operation. Minimum length: 1 Maximum length: 4000 |
input.metaDescription | string | optional | Meta description value used by this API operation. Minimum length: 1 Maximum length: 1000 |
input.query | string | required | Query value used by this API operation. Minimum length: 1 Maximum length: 500 |
input.title | string | optional | Title value used by this API operation. Minimum length: 1 Maximum length: 300 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: seo_relevance |
Any of option 1 — requires title
| Name | Type | Required | Description |
|---|---|---|---|
input | any | optional | Required with useCase in preset mode. Strict preset-specific input. Keyword presets accept only bounded keyword, candidate, SERP-evidence, and product-fact fields. |
Any of option 2 — requires metaDescription
| Name | Type | Required | Description |
|---|---|---|---|
input | any | optional | Required with useCase in preset mode. Strict preset-specific input. Keyword presets accept only bounded keyword, candidate, SERP-evidence, and product-fact fields. |
Any of option 3 — requires contentExcerpt
| Name | Type | Required | Description |
|---|---|---|---|
input | any | optional | Required with useCase in preset mode. Strict preset-specific input. Keyword presets accept only bounded keyword, candidate, SERP-evidence, and product-fact fields. |
evidence_check
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Assesses the claim only against sourceText. If supplied quote is absent after whitespace normalization, the server returns deterministic quote_not_found without a model call. |
input.claim | string | required | Claim value used by this API operation. Minimum length: 1 Maximum length: 1000 |
input.quote | string | optional | Optional quote that must occur in sourceText after whitespace normalization. Minimum length: 1 Maximum length: 1000 |
input.sourceText | string | required | Source text value used by this API operation. Minimum length: 1 Maximum length: 6000 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: evidence_check |
keyword_business_relevance
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Required with useCase in preset mode. Strict preset-specific input. Keyword presets accept only bounded keyword, candidate, SERP-evidence, and product-fact fields. |
input.businessDescription | string | required | Business description value used by this API operation. Minimum length: 1 Maximum length: 4000 |
input.exclusions | array | required | Exclusions value used by this API operation. Maximum items: 50 |
input.exclusions[] | string | required | Item in input exclusions. Minimum length: 1 Maximum length: 200 |
input.keywords | array | required | Keywords value used by this API operation. Minimum items: 1 Maximum items: 10 |
input.keywords[] | object | required | Item in input keywords. |
input.keywords[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.keywords[].keyword | string | required | Keyword value used by this API operation. Minimum length: 1 Maximum length: 500 |
input.serpEvidence | array | optional | Serp evidence value used by this API operation. Maximum items: 30 |
input.serpEvidence[] | object | required | Item in input serpEvidence. |
input.serpEvidence[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.serpEvidence[].keywordId | string | required | Keyword id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.serpEvidence[].source | string | required | Source value used by this API operation. Minimum length: 1 Maximum length: 200 |
input.serpEvidence[].text | string | required | Text value used by this API operation. Minimum length: 1 Maximum length: 2000 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: keyword_business_relevance |
keyword_cluster_fit
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Required with useCase in preset mode. Strict preset-specific input. Keyword presets accept only bounded keyword, candidate, SERP-evidence, and product-fact fields. |
input.candidates | array | required | Candidates value used by this API operation. Minimum items: 1 Maximum items: 5 |
input.candidates[] | object | required | Item in input candidates. |
input.candidates[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.candidates[].keyword | string | required | Keyword value used by this API operation. Minimum length: 1 Maximum length: 500 |
input.keywords | array | required | Keywords value used by this API operation. Minimum items: 1 Maximum items: 10 |
input.keywords[] | object | required | Item in input keywords. |
input.keywords[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.keywords[].keyword | string | required | Keyword value used by this API operation. Minimum length: 1 Maximum length: 500 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: keyword_cluster_fit |
amazon_keyword_product_fit
| Name | Type | Required | Description |
|---|---|---|---|
input | object | optional | Required with useCase in preset mode. Strict preset-specific input. Keyword presets accept only bounded keyword, candidate, SERP-evidence, and product-fact fields. |
input.keywords | array | required | Keywords value used by this API operation. Minimum items: 1 Maximum items: 10 |
input.keywords[] | object | required | Item in input keywords. |
input.keywords[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.keywords[].keyword | string | required | Keyword value used by this API operation. Minimum length: 1 Maximum length: 500 |
input.marketplace | string | required | Marketplace value used by this API operation. Allowed: US, UK, DE, FR, JP, CA, IT, ES, MX, IN |
input.productFacts | array | required | Product facts value used by this API operation. Minimum items: 1 Maximum items: 30 |
input.productFacts[] | object | required | Item in input productFacts. |
input.productFacts[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
input.productFacts[].source | string | required | Source value used by this API operation. Allowed: title, bullet, attribute, description |
input.productFacts[].value | string | required | Value value used by this API operation. Minimum length: 1 Maximum length: 2000 |
useCase | string | optional | Required with input in preset mode. One of seven server-owned presets. Constant: amazon_keyword_product_fit |
Custom mode
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 | Fixed server policies cover response safety, IP triage, SEO relevance, evidence checks, business-keyword relevance, keyword same-page clustering, and Amazon product-keyword fit. Keyword presets return bounded rows keyed only by caller-supplied IDs. |
data.checks | object | required | Empty in custom mode; answers are in result.answers. Fixed Noul, Score, or Choice checks for the preset: response risks and severity; IP signals, risk_type, severity, and insufficient_context; supplied SEO dimensions; or evidence verdict. Deterministic quote_not_found returns an empty object. |
data.decision | string | required | Presets return pass/review/block. Custom mode returns evaluated, which means answers are available, not that an action is approved. Allowed: pass, review, block, evaluated |
data.model | string | null | required | Resolved model version, or null for deterministic quote_not_found. |
data.policyVersion | string | required | jev-evaluation-v1 for original presets; jev-keyword-tools-v1 for keyword presets; jev-custom-v1 for custom questions. |
data.reasonCodes | array | required | Fixed reason codes without submitted text. |
data.reasonCodes[] | string | required | Fixed reason codes without submitted text. |
data.result | object | required | Preset-specific bounded result. Keyword presets return result.rows with caller-supplied IDs, fixed labels, confidence, and fixed reason or evidence references. |
data.result.answers | object | optional | Custom mode only. Answers keyed by question ID: noul returns {type, noul}; choice returns {type, choice, confidence, probabilities}; score returns {type, score, confidence, probabilities, legend}. No automatic policy or token usage is returned. |
data.result.rows | array | optional | Rows value used by this API operation. Maximum items: 10 |
data.result.rows[] | any | required | Item in data result rows. |
data.useCase | string | required | Use case value used by this API operation. Allowed: response_guardrails, ip_risk_triage, seo_relevance, evidence_check, keyword_business_relevance, keyword_cluster_fit, amazon_keyword_product_fit, custom |
msg | string | required | Response message. |
Business relevance row
| Name | Type | Required | Description |
|---|---|---|---|
data.result.rows[] | object | required | Item in data result rows. |
data.result.rows[].confidence | number | required | Confidence value used by this API operation. Minimum: 0 Maximum: 1 |
data.result.rows[].evidenceRefs | array | required | Evidence refs value used by this API operation. |
data.result.rows[].evidenceRefs[] | string | required | Item in data result rows[] evidenceRefs. |
data.result.rows[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
data.result.rows[].label | string | required | Label value used by this API operation. Allowed: relevant, irrelevant, uncertain |
data.result.rows[].reasonCodes | array | required | Reason codes value used by this API operation. |
data.result.rows[].reasonCodes[] | string | required | Item in data result rows[] reasonCodes. |
Keyword cluster fit row
| Name | Type | Required | Description |
|---|---|---|---|
data.result.rows[] | object | required | Item in data result rows. |
data.result.rows[].candidateId | string | null | required | Candidate id value used by this API operation. |
data.result.rows[].confidence | number | required | Confidence value used by this API operation. Minimum: 0 Maximum: 1 |
data.result.rows[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
data.result.rows[].label | string | required | Label value used by this API operation. Allowed: same_page, separate_page, uncertain |
data.result.rows[].reasonCodes | array | required | Reason codes value used by this API operation. |
data.result.rows[].reasonCodes[] | string | required | Item in data result rows[] reasonCodes. |
data.result.rows[].samePage | boolean | required | Same page value used by this API operation. |
data.result.rows[].sameTopic | boolean | required | Same topic value used by this API operation. |
Amazon keyword product fit row
| Name | Type | Required | Description |
|---|---|---|---|
data.result.rows[] | object | required | Item in data result rows. |
data.result.rows[].confidence | number | required | Confidence value used by this API operation. Minimum: 0 Maximum: 1 |
data.result.rows[].evidenceRefs | array | required | Evidence refs value used by this API operation. |
data.result.rows[].evidenceRefs[] | string | required | Item in data result rows[] evidenceRefs. |
data.result.rows[].id | string | required | Id value used by this API operation. Pattern: ^[A-Za-z0-9_-]{1,64}$ |
data.result.rows[].label | string | required | Label value used by this API operation. Allowed: match, partial, conflict, unknown |
data.result.rows[].reasonCodes | array | required | Reason codes value used by this API operation. |
data.result.rows[].reasonCodes[] | string | required | Item in data result rows[] reasonCodes. |
Format Illustration
Illustrative example with fictional data, not a live tool call.
Illustrative Question
Check the statement “Never share passwords. Contact customer support through the official website.” with the response-safety preset.
Illustrative Response Explanation
The illustrative result returns pass with the reason that no rule was triggered. This advisory decision does not send the text or approve another action.
About this sample: Illustrative format example with fictional values, not a live tool call. Replace example inputs with your own permitted assets or public identifiers. Model and catalog labels in this illustration are fictional, not identifiers to select for a live request.
Published sample data is not available for this page. A format illustration or workflow guide is not a substitute for a published result.
View the MCP Request & Response Format
Examples
Illustrative example with fictional data, not a live tool call.
The JSON-RPC envelope below illustrates how the shown arguments and payload fit into MCP. It is not captured network traffic or proof of a successful call. Workflow-only examples do not include a result.
MCP Request
{
"jsonrpc": "2.0",
"id": "jev-evaluate-example",
"method": "tools/call",
"params": {
"name": "nexscope_jev_evaluate",
"arguments": {
"input": {
"content": "Never share passwords. Contact customer support through the official website."
},
"useCase": "response_guardrails"
}
}
}MCP Response Format
{
"jsonrpc": "2.0",
"id": "jev-evaluate-example",
"result": {
"content": [
{
"type": "text",
"text": "{\"code\":0,\"data\":{\"checks\":{},\"decision\":\"pass\",\"model\":\"example-model\",\"policyVersion\":\"jev-evaluation-v1\",\"reasonCodes\":[\"no_rule_triggered\"],\"result\":{},\"useCase\":\"response_guardrails\"},\"msg\":\"success\"}"
}
],
"structuredContent": {
"code": 0,
"data": {
"checks": {},
"decision": "pass",
"model": "example-model",
"policyVersion": "jev-evaluation-v1",
"reasonCodes": [
"no_rule_triggered"
],
"result": {},
"useCase": "response_guardrails"
},
"msg": "success"
},
"isError": false
}
}