SMI Aware Assistant
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
- 0.1.1
- Version
- remote
- Transport
- 40
- Tools
Security review
Review passedReviewed Jan 1, 2000.
- tools: 40 tools scanned
- metadata: scanned
No findings.
Tools (40)
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.
verify_access
Verifies the session Personal Access Token (PAT) against the SMI identity endpoint and returns the resolved account identity.
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.
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.
smi_list_deep_reports
Lists SMI deep reports with pagination and optional filtering.
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.
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.
smi_submit_deep_reports
Submits previously created SMI deep report drafts (Draft status only) for processing.
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.
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).
smi_list_exports
Lists SMI exports with pagination and optional filtering.
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.
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.
smi_submit_exports
Submits previously created SMI export drafts (Draft status only) for processing.
smi_list_projects
Lists SMI projects with pagination.
smi_list_products
Lists the SMI reference set of products.
smi_list_platforms
Lists the SMI reference set of platforms.
smi_list_statuses
Lists the SMI reference set of statuses.
smi_list_relationships
Lists the SMI reference set of relationships.
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.
smi_get_deep_report_releases
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.
smi_get_export_releases
Lists releases for a given SMI export, with pagination.
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.
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.
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.
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.
smi_add_subject_address
Attaches a postal address to an SMI subject.
smi_add_subject_phone
Attaches a phone number to an SMI subject.
smi_add_subject_email
Attaches an email address to an SMI subject.
smi_add_subject_alias
Attaches an alias to an SMI subject.
smi_add_subject_surname
Attaches a surname to an SMI subject.
smi_add_subject_url
Attaches a url to an SMI subject.
smi_add_subject_employer
Attaches an employer to an SMI subject.
smi_add_subject_employee
Attaches an employee to an SMI subject (for COMPANY-type subjects).
smi_add_subject_employee_url
Attaches a url to an SMI subject employee, referenced by the subjectEmployeeId returned from smi_add_subject_employee.
smi_add_subject_education
Attaches an educational institution to an SMI subject.
smi_add_subject_relationship
Attaches a relationship to an SMI subject, using a relationshipId from smi_list_relationships.
smi_add_subject_relationship_url
Attaches a url to an SMI subject relationship, referenced by the subjectRelationshipId returned from smi_add_subject_relationship.
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.
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.