MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

SMI Aware Assistant

Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.

Checks passed
14 / 22

1 failed · 7 not measured

Median response
598 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
41

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
103
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 599 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name mcp-server.

  • Pass
    Lists tools

    tools/list returned 41 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 598 ms over 2 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 599 ms over 2 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    2 of 2 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Pass
    Stable tool list

    No tool was removed and no required parameter was added in the last 30 days.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    122 of 138 parameters have a description (88%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-08-03T18:37:11.199643Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using SMI Aware Assistant

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http smi-aware-assistant https://mcp.smiaware.com/mcp

Capabilities

Tools 41

fetch

Fetches the full SMI record for a typed reference ("<type>:<id>") that search returned. Pass only an id that appeared in a search result; do not construct one. If you already have a plain SMI record id, use smi_get_deep_report or smi_get_export to read it, or smi_check_order_complete for its readiness.

Discovered
onboarding_next_step

Pre-connection onboarding helper, callable before any SMI token is set. With no input, returns the fork question "Do you already have an SMI token?" — call again with hasToken: "yes" for connect guidance (then verify_access), or hasToken: "no" for prospect-intake guidance. Runs locally; makes no network calls and never reads or requires credentials.

Discovered
search

Open-ended discovery across SMI deep reports, research bundles, and exports when you do not already have a record id — finds candidates by subject name, url, or keyword and returns typed references to pass to fetch. If you already have a record id from the conversation rather than from a search result, call the specific tool instead: smi_get_deep_report or smi_get_export to read one record, smi_check_order_complete for order readiness, smi_list_deep_reports or smi_list_exports for filtered listings, smi_get_report_findings for findings within a report. Deep reports and research bundles are filtered server-side by subject first/last name, broadening to an unfiltered fetch ranked client-side (across id, name, url, summary) when the filtered fetch finds nothing; exports match on url.

Discovered
smi_add_subject_address

Attaches a postal address to an SMI subject.

Discovered
smi_add_subject_alias

Attaches an alias to an SMI subject.

Discovered
smi_add_subject_education

Attaches an educational institution to an SMI subject.

Discovered
smi_add_subject_email

Attaches an email address to an SMI subject.

Discovered
smi_add_subject_employee

Attaches an employee to an SMI subject (for COMPANY-type subjects).

Discovered
smi_add_subject_employee_url

Attaches a url to an SMI subject employee, referenced by the subjectEmployeeId returned from smi_add_subject_employee.

Discovered
smi_add_subject_employer

Attaches an employer to an SMI subject.

Discovered
smi_add_subject_phone

Attaches a phone number to an SMI subject.

Discovered
smi_add_subject_relationship

Attaches a relationship to an SMI subject, using a relationshipId from smi_list_relationships.

Discovered
smi_add_subject_relationship_url

Attaches a url to an SMI subject relationship, referenced by the subjectRelationshipId returned from smi_add_subject_relationship.

Discovered
smi_add_subject_surname

Attaches a surname to an SMI subject.

Discovered
smi_add_subject_url

Attaches a url to an SMI subject.

Discovered
smi_analyze

Scores free-text case notes against 5 weighted gap-analysis signals (no prior SMI order, high-relevance case type, known online presence, date of loss, social media mentioned) and returns a RECOMMEND/REVIEW/NO ACTION verdict, a confidence rating, which signals were/were not detected, a suggested product, and a best-effort orderData prefill (subject, matter id, case type, date of loss, handles/urls, suggested scope) for smi_create_deep_report. Runs entirely locally; makes no network calls.

Discovered
smi_check_order_complete

Checks the status of a deep report or export record (by its record id, e.g. from smi_create_deep_report draftIds). Returns state = ready | in_progress | draft | failed | unknown and a terminal flag. Poll with bounded attempts and backoff while in_progress; stop as soon as terminal is true (ready or failed) — a failed record will never become ready. Also stop when state is draft: the record was never submitted, so it will not progress until smi_submit_deep_reports or smi_submit_exports is called on it.

Discovered
smi_confirm_upload

Confirms a file already PUT to a presigned URL returned by smi_request_upload_url and persists the deep report upload record. Requires the version (the x-amz-version-id response header captured during the PUT).

Discovered
smi_create_deep_report

Creates one or more SMI deep report drafts from subject orders. Returns the draft ids for review before submission. All orders in one call are filed under a single project; call once per project. A batch of up to 25 orders is created immediately. A larger batch runs as a background job that the server waits on for a few seconds, then returns the same draft ids plus the jobId. If the result has status queued, the job is still running or could not be read: call smi_get_job with its jobId to read the created deep report draft ids, and do not resend the orders. If the job failed, SMI does not say whether any draft was created: check existing drafts before resending anything.

Discovered
smi_create_export

Creates one or more SMI export drafts from profile-url orders. Returns the draft ids for review before submission. All orders in one call are filed under a single project; call once per project. A batch of up to 25 orders is created immediately. A larger batch runs as a background job that the server waits on for a few seconds, then returns the same draft ids plus the jobId. If the result has status queued, the job is still running or could not be read: call smi_get_job with its jobId to read the created export draft ids, and do not resend the orders. If the job failed, SMI does not say whether any draft was created: check existing drafts before resending anything.

Discovered
smi_get_cowork_instructions

Returns a consolidated, copy-paste-ready Markdown system prompt of SMI Aware house rules and a when-to-call-which-tool routing guide, plus exact paste-in locations for Claude Projects/Cowork/Desktop, Cursor, and other clients, so the assistant calls the right smi_* tools automatically. Runs locally; makes no network calls and takes no case data.

Discovered
smi_get_deep_report

Fetches a single SMI deep report by id. Research Bundles are deep-report products, so use this tool for a Research Bundle id too rather than constructing a research_bundle: reference for the generic fetch tool. Accepts product-prefixed ids: RB-11751 (Research Bundle) and DR-11751 (Deep Report) both resolve here.

Discovered
smi_get_deep_report_releases

Lists releases for a given SMI deep report, with pagination. Each release lists its downloads: the report files (PDF, CSV, JSON) and the findings screenshot archive. Some releases carry only the findings archive and no report file; tell the user that in plain words. Use this tool to fetch the generated report PDF.

Discovered
smi_get_export

Fetches a single SMI export by id. Accepts product-prefixed ids: EX-30001 resolves here, while RB and DR ids belong to smi_get_deep_report.

Discovered
smi_get_export_releases

Lists releases for a given SMI export, with pagination.

Discovered
smi_get_job

Reads the status of an SMI background job. Use it with the jobId that smi_submit_deep_reports, smi_submit_exports, smi_create_deep_report or smi_create_export return when a large batch is still running, to read its outcome. Returns status (pending | processing | completed | failed), a terminal flag, and failedIds with an error when the job failed. While a batch submission job is pending or processing, poll with bounded attempts and backoff, and stop as soon as terminal is true. A release job (type deep_report_release or export_release) stays pending until that report is released, which can take days: do not poll it in a loop. Tell the user they will be notified when the report is released.

Discovered
smi_get_report_findings

Lists SMI release findings with pagination and optional filtering by report, platform, scope, and confirmation status. Report filters accept the displayed identifier (RB-11751, DR-402) or a bare numeric id, and platform filters accept a platform name (Facebook) or its numeric id. Each finding includes its summary, profile URL, and screenshot/evidence links. Findings are grouped by report and ordered by ascending sequence, so sequence 1 is Finding #1 of that report; refer to a finding by that number rather than by its id, which is an internal record key the reader cannot see. The ordering covers the returned page: SMI decides which findings a page carries, so a report with more findings than take may not begin at Finding #1 on page 1.

Discovered
smi_get_subject

Reads a subject's full profile out of a deep report (no standalone GET /subjects/{id} exists upstream, so the input is a deepReportId, not a subject id). Returns the subject as structured JSON — any atomic field (e.g. date of birth via `subject.birthDate`) can be extracted from it directly.

Discovered
smi_list_deep_reports

Lists SMI deep reports with pagination and optional filtering.

Discovered
smi_list_exports

Lists SMI exports with pagination and optional filtering.

Discovered
smi_list_platforms

Lists the SMI reference set of platforms.

Discovered
smi_list_products

Lists the SMI reference set of products.

Discovered
smi_list_projects

Lists SMI projects with pagination.

Discovered
smi_list_relationships

Lists the SMI reference set of relationships.

Discovered
smi_list_statuses

Lists the SMI reference set of statuses.

Discovered
smi_request_upload_url

Requests a presigned URL for uploading a large deep-report reference file (csv, doc, docx, gif, jpg, jpeg, pdf, png, txt, webp, xls, xlsx) directly to storage. This server never proxies file bytes: the caller must PUT the file to the returned signedUrl, capture the x-amz-version-id response header from that PUT, and then call smi_confirm_upload with that version to persist the upload record.

Discovered
smi_submit_deep_reports

Submits previously created SMI deep report drafts (Draft status only) for processing. A batch of up to 25 ids is processed immediately and the result lists accepted and rejected ids. A larger batch runs as a background job that the server waits on for a few seconds, then returns the same accepted and rejected ids plus the jobId. If the result has status queued, the job is still running or could not be read: call smi_get_job with its jobId and do not resubmit the ids. If the job failed, SMI does not say whether any id was submitted: check each id with smi_check_order_complete before resubmitting. SMI notifies the user when each deep report is released; smi_check_order_complete reads the status of a single record.

Discovered
smi_submit_exports

Submits previously created SMI export drafts (Draft status only) for processing. A batch of up to 25 ids is processed immediately and the result lists accepted and rejected ids. A larger batch runs as a background job that the server waits on for a few seconds, then returns the same accepted and rejected ids plus the jobId. If the result has status queued, the job is still running or could not be read: call smi_get_job with its jobId and do not resubmit the ids. If the job failed, SMI does not say whether any id was submitted: check each id with smi_check_order_complete before resubmitting. SMI notifies the user when each export is released; smi_check_order_complete reads the status of a single record.

Discovered
smi_update_subject

Partially updates an SMI subject via PATCH /subjects/:id. type (PERSON or COMPANY) is required on every call — the SMI backend requires it as a discriminator on every subject PATCH. Editable fields match the API contract: firstName/lastName (or companyName for a COMPANY), birthYear/birthMonth/birthDay, and gender. At least one editable field must be provided.

Discovered
submit_contact_request

Submits a prospect contact request — first name, last name, email, and organization — to SMI so the sales team can follow up. For prospects who do not yet have an SMI Aware token.

Discovered
verify_access

Verifies the session Personal Access Token (PAT) against the SMI identity endpoint and returns the resolved account identity.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected599 ms41
Connected596 ms41