sentineliq-net MCP API
The mcp API from sentineliq-net — 2 operation(s) for mcp.
The mcp API from sentineliq-net — 2 operation(s) for mcp.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/sentineliq-net:sentineliq-net-mcp-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SENTINEL Property Research MCP API
version: 1.5.1
description: 'Per-address computed research for King, Snohomish, Pierce, and Whatcom counties, Washington: deterministic REET, seller net sheet, NWMLS deadline and monthly-payment calculators, seller-scenario and offer comparisons, and a seller packet combining math with optional cached evidence and Markdown (one metered answer per packet). A sanitized county property record accepts an address or county plus parcel ID, excludes owner identity, and carries exact field observations with explicit gaps. Permit history supplies City of Seattle building records and observed changes with issuing-agency coverage boundaries; listing status / price / days-on-market appear only when the listing row is RentCast-licensed, and portal links, photos and portal valuations never appear. An attributed market snapshot. Every response carries an `attributions` array whose `required` entries must be reproduced wherever the data is shown. Not affiliated with or endorsed by NWMLS, the Washington Department of Revenue, or any county.'
servers:
- url: https://app.sentineliq.net
tags:
- name: MCP
paths:
/api/v1/mcp:
post:
tags:
- MCP
summary: Mcp Post
description: 'Keyed stateless JSON-RPC 2.0 dispatch — all ten tools, metered.
Auth and rate limits run before JSON-RPC parsing. Execution quota is
reserved only after tool arguments validate, leaving discovery usable
when a quota is exhausted. These rejections use HTTP errors with no-store.
Signed-out requests (only possible with MCP sign-in on) list every tool,
run the free calculators unmetered and answer keyed calls with a 401.'
operationId: mcpPost
requestBody:
content:
application/json:
schema:
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
description: String, number, or null. Omit for a notification (answered 202, no body).
method:
type: string
enum:
- initialize
- server/discover
- tools/list
- tools/call
- ping
params:
type: object
additionalProperties: false
type: object
required:
- jsonrpc
- method
example:
jsonrpc: '2.0'
id: 1
method: tools/call
params:
name: wa_reet
arguments:
salePrice: 500000
county: king
required: true
responses:
'200':
description: 'One JSON-RPC 2.0 response object: {jsonrpc, id, result} or {jsonrpc, id, error: {code, message}}. Tool failures are result.isError=true with a {code, message} text block. Batch requests are rejected (-32600).'
content:
application/json:
schema:
properties:
jsonrpc:
type: string
enum:
- '2.0'
id: {}
result:
type: object
error:
properties:
code:
type: integer
message:
type: string
type: object
required:
- code
- message
type: object
required:
- jsonrpc
- id
'202':
description: Notification (request without id) accepted.
'400':
description: Unsupported MCP-Protocol-Version header.
'403':
description: Supplied Origin is not in the configured origin allowlist.
'413':
description: PAYLOAD_TOO_LARGE — serialized body exceeds 65536 bytes; never metered. Reduce it before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'401':
description: INVALID_KEY — key missing, malformed, revoked, or not authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'402':
description: 'PLAN_REQUIRED (valid key, no active plan, free trial over), TRIAL_ENDED (the 7-day free trial is over) or TRIAL_ANSWERS_USED (all 25 free trial answers used). Carries upgrade_url (the Sentinel Connect checkout) and X-Quota-Remaining: 0.'
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'429':
description: 'RATE_LIMITED (per-key burst; Retry-After), QUOTA_EXCEEDED (rolling 24h ledger; Retry-After, upgrade_url, X-Quota-Remaining: 0), or CUSTOMER_BUDGET_EXCEEDED (customer-selected daily/monthly cap; X-Quota-Remaining: 0).'
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
security:
- bearerAuth: []
/api/v1/mcp/public:
post:
tags:
- MCP
summary: Mcp Public Post
description: 'Authless JSON-RPC 2.0 dispatch — the three calculators, never metered.
No key, no account, no DB session: every tool here is pure deterministic
math over the engines in src/deals. Abuse control is the per-IP
``public_mcp`` bucket (429 in the surface''s structured envelope with
Retry-After, headroom in X-RateLimit-Remaining) plus the body-size cap
(413 before any parsing); the keyed buckets and the usage ledger are
never touched.'
operationId: mcpPublicPost
requestBody:
content:
application/json:
schema:
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
description: String, number, or null. Omit for a notification (answered 202, no body).
method:
type: string
enum:
- initialize
- server/discover
- tools/list
- tools/call
- ping
params:
type: object
additionalProperties: false
type: object
required:
- jsonrpc
- method
example:
jsonrpc: '2.0'
id: 1
method: tools/call
params:
name: wa_reet
arguments:
salePrice: 500000
county: king
required: true
responses:
'200':
description: 'One JSON-RPC 2.0 response object: {jsonrpc, id, result} or {jsonrpc, id, error: {code, message}}. Tool failures are result.isError=true with a {code, message} text block. Batch requests are rejected (-32600).'
content:
application/json:
schema:
properties:
jsonrpc:
type: string
enum:
- '2.0'
id: {}
result:
type: object
error:
properties:
code:
type: integer
message:
type: string
type: object
required:
- code
- message
type: object
required:
- jsonrpc
- id
'202':
description: Notification (request without id) accepted.
'400':
description: Unsupported MCP-Protocol-Version header.
'403':
description: Supplied Origin is not in the configured origin allowlist.
'413':
description: PAYLOAD_TOO_LARGE — serialized body exceeds 65536 bytes; never metered. Reduce it before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
'429':
description: RATE_LIMITED — per-IP burst or daily cap; Retry-After.
content:
application/json:
schema:
$ref: '#/components/schemas/AgentApiError'
security: []
components:
schemas:
AgentApiError:
title: AgentApiError
type: object
required:
- detail
properties:
detail:
type: object
required:
- code
- message
properties:
code:
type: string
description: 'Machine-readable error code: VALIDATION, NOT_FOUND, AMBIGUOUS_ADDRESS, INVALID_KEY, PLAN_REQUIRED, TRIAL_ENDED, TRIAL_ANSWERS_USED, QUOTA_EXCEEDED, CUSTOMER_BUDGET_EXCEEDED, RATE_LIMITED, PAYLOAD_TOO_LARGE, HISTORY_UNAVAILABLE, SOURCE_UNAVAILABLE.'
message:
type: string
upgrade_url:
type: string
description: Present on 402 and quota 429 responses.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: agk_...
description: 'SENTINEL Developer API key (Authorization: Bearer agk_...). X-API-Key: agk_... is accepted as an equivalent.'