SMI Aware Assistant
by mcp.smiaware.com · remote · no sign-in to list tools · v0.1.1 · published by com.smiaware.mcp
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
40 tools: 24 change things and 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things24Claude Code: ask: see these tools
- Only reads16Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http smi-aware-assistant https://mcp.smiaware.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnsearch
The server marks "search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "search" says "search": a word for reading.
The description mentions "credentials".
What this check looks forMatched text
description: "...twork calls and never reads or requires credentials."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
40 tools
Changes things 24Claude Code: ask
onboarding_next_stepPre-connection onboarding helper, callable before any SMI token is set.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...twork calls and never reads or requires credentials."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
searchOpen-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…1 finding
Why it is in this group
- The name "search" says "search": a word for reading.
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "search" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
smi_add_subject_addressAttaches a postal address to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_address" says "add": a word for a change.
Description, as the server wrote it Attaches a postal address to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_aliasAttaches an alias to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_alias" says "add": a word for a change.
Description, as the server wrote it Attaches an alias to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_educationAttaches an educational institution to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_education" says "add": a word for a change.
Description, as the server wrote it Attaches an educational institution to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_emailAttaches an email address to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_email" says "add": a word for a change.
Description, as the server wrote it Attaches an email address to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_employeeAttaches an employee to an SMI subject (for COMPANY-type subjects).No findings
Why it is in this group
- The name "smi_add_subject_employee" says "add": a word for a change.
Description, as the server wrote it Attaches an employee to an SMI subject (for COMPANY-type subjects).
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_employee_urlAttaches a url to an SMI subject employee, referenced by the subjectEmployeeId returned from smi_add_subject_employee.No findings
Why it is in this group
- The name "smi_add_subject_employee_url" says "add": a word for a change.
Description, as the server wrote it Attaches a url to an SMI subject employee, referenced by the subjectEmployeeId returned from smi_add_subject_employee.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_employerAttaches an employer to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_employer" says "add": a word for a change.
Description, as the server wrote it Attaches an employer to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_phoneAttaches a phone number to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_phone" says "add": a word for a change.
Description, as the server wrote it Attaches a phone number to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_relationshipAttaches a relationship to an SMI subject, using a relationshipId from smi_list_relationships.No findings
Why it is in this group
- The name "smi_add_subject_relationship" says "add": a word for a change.
Description, as the server wrote it Attaches a relationship to an SMI subject, using a relationshipId from smi_list_relationships.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_relationship_urlAttaches a url to an SMI subject relationship, referenced by the subjectRelationshipId returned from smi_add_subject_relationship.No findings
Why it is in this group
- The name "smi_add_subject_relationship_url" says "add": a word for a change.
Description, as the server wrote it Attaches a url to an SMI subject relationship, referenced by the subjectRelationshipId returned from smi_add_subject_relationship.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_surnameAttaches a surname to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_surname" says "add": a word for a change.
Description, as the server wrote it Attaches a surname to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_add_subject_urlAttaches a url to an SMI subject.No findings
Why it is in this group
- The name "smi_add_subject_url" says "add": a word for a change.
Description, as the server wrote it Attaches a url to an SMI subject.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_check_order_completeChecks the status of a deep report or export record (by its record id, e.g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_confirm_uploadConfirms a file already PUT to a presigned URL returned by smi_request_upload_url and persists the deep report upload record.No findings
Why it is in this group
- The name "smi_confirm_upload" says "upload": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_create_deep_reportCreates one or more SMI deep report drafts from subject orders.No findings
Why it is in this group
- The name "smi_create_deep_report" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_create_exportCreates one or more SMI export drafts from profile-url orders.No findings
Why it is in this group
- The name "smi_create_export" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_request_upload_urlRequests 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.No findings
Why it is in this group
- The name "smi_request_upload_url" says "request": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_submit_deep_reportsSubmits previously created SMI deep report drafts (Draft status only) for processing.No findings
Why it is in this group
- The name "smi_submit_deep_reports" says "submit": a word for a change.
Description, as the server wrote it Submits previously created SMI deep report drafts (Draft status only) for processing.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_submit_exportsSubmits previously created SMI export drafts (Draft status only) for processing.No findings
Why it is in this group
- The name "smi_submit_exports" says "submit": a word for a change.
Description, as the server wrote it Submits previously created SMI export drafts (Draft status only) for processing.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
smi_update_subjectPartially updates an SMI subject via PATCH /subjects/:id.No findings
Why it is in this group
- The name "smi_update_subject" says "update": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
submit_contact_requestSubmits a prospect contact request — first name, last name, email, and organization — to SMI so the sales team can follow up.No findings
Why it is in this group
- The name "submit_contact_request" says "submit": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
verify_accessVerifies the session Personal Access Token (PAT) against the SMI identity endpoint and returns the resolved account identity.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Verifies the session Personal Access Token (PAT) against the SMI identity endpoint and returns the resolved account identity.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
Only reads 16Claude Code: allow
fetchFetches the full SMI record for a typed reference ("<type>:<id>") that search returned.No findings
Why it is in this group
- The name "fetch" says "fetch": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
smi_analyzeScores 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 …No findings
Why it is in this group
- The name "smi_analyze" says "analyze": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
smi_get_cowork_instructionsReturns 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 Proje…No findings
Why it is in this group
- The name "smi_get_cowork_instructions" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
smi_get_deep_reportFetches a single SMI deep report by id.No findings
Why it is in this group
- The name "smi_get_deep_report" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_get_deep_report_releasesLists releases for a given SMI deep report, with pagination.No findings
Why it is in this group
- The name "smi_get_deep_report_releases" says "get": a word for reading.
Description, as the server wrote it Lists releases for a given SMI deep report, with pagination. Each release links its downloadable deliverable files (report PDF, CSV, JSON) and the findings screenshot archive when available — use this tool to fetch the generated report PDF.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_get_exportFetches a single SMI export by id.No findings
Why it is in this group
- The name "smi_get_export" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_get_export_releasesLists releases for a given SMI export, with pagination.No findings
Why it is in this group
- The name "smi_get_export_releases" says "get": a word for reading.
Description, as the server wrote it Lists releases for a given SMI export, with pagination.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_get_report_findingsLists SMI release findings with pagination and optional filtering by report, platform, scope, and confirmation status.No findings
Why it is in this group
- The name "smi_get_report_findings" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_get_subjectReads 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).No findings
Why it is in this group
- The name "smi_get_subject" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_deep_reportsLists SMI deep reports with pagination and optional filtering.No findings
Why it is in this group
- The name "smi_list_deep_reports" says "list": a word for reading.
Description, as the server wrote it Lists SMI deep reports with pagination and optional filtering.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_exportsLists SMI exports with pagination and optional filtering.No findings
Why it is in this group
- The name "smi_list_exports" says "list": a word for reading.
Description, as the server wrote it Lists SMI exports with pagination and optional filtering.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_platformsLists the SMI reference set of platforms.No findings
Why it is in this group
- The name "smi_list_platforms" says "list": a word for reading.
Description, as the server wrote it Lists the SMI reference set of platforms.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_productsLists the SMI reference set of products.No findings
Why it is in this group
- The name "smi_list_products" says "list": a word for reading.
Description, as the server wrote it Lists the SMI reference set of products.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_projectsLists SMI projects with pagination.No findings
Why it is in this group
- The name "smi_list_projects" says "list": a word for reading.
Description, as the server wrote it Lists SMI projects with pagination.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_relationshipsLists the SMI reference set of relationships.No findings
Why it is in this group
- The name "smi_list_relationships" says "list": a word for reading.
Description, as the server wrote it Lists the SMI reference set of relationships.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
smi_list_statusesLists the SMI reference set of statuses.No findings
Why it is in this group
- The name "smi_list_statuses" says "list": a word for reading.
Description, as the server wrote it Lists the SMI reference set of statuses.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http smi-aware-assistant https://mcp.smiaware.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__smi-aware-assistant__smi_get_cowork_instructions",
"mcp__smi-aware-assistant__smi_list_deep_reports",
"mcp__smi-aware-assistant__smi_get_deep_report",
"mcp__smi-aware-assistant__smi_list_exports",
"mcp__smi-aware-assistant__smi_get_export",
"mcp__smi-aware-assistant__smi_list_projects",
"mcp__smi-aware-assistant__smi_list_products",
"mcp__smi-aware-assistant__smi_list_platforms",
"mcp__smi-aware-assistant__smi_list_statuses",
"mcp__smi-aware-assistant__smi_list_relationships",
"mcp__smi-aware-assistant__smi_get_report_findings",
"mcp__smi-aware-assistant__smi_get_deep_report_releases",
"mcp__smi-aware-assistant__smi_get_export_releases",
"mcp__smi-aware-assistant__fetch",
"mcp__smi-aware-assistant__smi_analyze",
"mcp__smi-aware-assistant__smi_get_subject"
],
"ask": [
"mcp__smi-aware-assistant__onboarding_next_step",
"mcp__smi-aware-assistant__verify_access",
"mcp__smi-aware-assistant__submit_contact_request",
"mcp__smi-aware-assistant__smi_create_deep_report",
"mcp__smi-aware-assistant__smi_submit_deep_reports",
"mcp__smi-aware-assistant__smi_request_upload_url",
"mcp__smi-aware-assistant__smi_confirm_upload",
"mcp__smi-aware-assistant__smi_create_export",
"mcp__smi-aware-assistant__smi_submit_exports",
"mcp__smi-aware-assistant__smi_check_order_complete",
"mcp__smi-aware-assistant__search",
"mcp__smi-aware-assistant__smi_add_subject_address",
"mcp__smi-aware-assistant__smi_add_subject_phone",
"mcp__smi-aware-assistant__smi_add_subject_email",
"mcp__smi-aware-assistant__smi_add_subject_alias",
"mcp__smi-aware-assistant__smi_add_subject_surname",
"mcp__smi-aware-assistant__smi_add_subject_url",
"mcp__smi-aware-assistant__smi_add_subject_employer",
"mcp__smi-aware-assistant__smi_add_subject_employee",
"mcp__smi-aware-assistant__smi_add_subject_employee_url",
"mcp__smi-aware-assistant__smi_add_subject_education",
"mcp__smi-aware-assistant__smi_add_subject_relationship",
"mcp__smi-aware-assistant__smi_add_subject_relationship_url",
"mcp__smi-aware-assistant__smi_update_subject"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as smi-aware-assistant. Review it before you use it.