Api

com.docimprintPublished by docimprint.comOfficial publisherv1.0.4Updated Oct 26, 2026

AI document intelligence: extract, summarize, claim-check, notarize, and signed action receipts.

VerifiedStreamable HTTPWeb executableFiles & StorageKnowledge & MemoryData & Analytics

Overview

AI-generated overview

DocImprint API server for AI document intelligence: extract text and tables, summarize, check claims, notarize evidence bundles, and query document collections.

What you can do
  • Extract text, tables and forms from PDFs or images, or fetch and extract text from public HTTPS URLs
  • Summarize documents or web pages, answer questions about a page, and translate page content
  • Parse invoices and receipts, extract caller-defined structured fields, and verify factual claims against document text
  • Create collections, add documents with async indexing, run semantic search and cited RAG answers across them
  • Inspect, cryptographically verify and notarize evidence bundles on-chain, and verify signed action receipts
  • Check credit balance and plan details, and poll async job status
When to use it
Useful when an assistant needs to turn PDFs, images or web pages into text or structured data, and when you want cited summaries, claim verification, or tamper-evident records of documents with on-chain notarization and signed receipts.
Requirements
Remote streamable HTTP endpoint at api.docimprint.com. Requires a DocImprint API key sent as a bearer token in the Authorization header. Credit-consuming operations need a plan with available credits; network access to the service and to any URLs being fetched.
Before you install
The API key is a secret sent in the Authorization header. Most extraction, summarization, claim-checking and parsing operations consume credits, so check quota first. Notarization writes a document fingerprint permanently to a public blockchain. Collections and bundles are created and modified under your key, and fetched URLs and document content are sent to the third-party service.

Installation

In SourceWeft

  1. Open Api in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.docimprint%2Fapi/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "api": {
      "type": "http",
      "url": "https://api.docimprint.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

This repository has no README.

Tools

21

extract_text

Extract Text

Extract plain text from a PDF or image (base64-encoded). Use when you need raw text for downstream AI analysis (summarization, claim checking, structured extraction). For documents at a public URL, use extract_url instead (no base64 encoding needed). Returns: { pages: number, text: string } Example prompts: - "Extract the text from this scanned contract so I can search it." - "Give me the raw text from this PDF document." - "OCR this image and return the text content."

Parametersmime_typerequireddocument_base64required

extract_tables

Extract Tables

Extract tables and forms as Markdown from a PDF or image (base64-encoded). Use when the document contains structured tabular data such as financial statements, data sheets, or forms. For plain prose documents, use extract_text instead. Returns: { pages: number, text: string } — text contains Markdown-formatted tables. Example prompts: - "Extract the tables from this financial statement." - "Pull the data table from this PDF into Markdown format." - "Get the tabular data from this form document."

Parametersmime_typerequireddocument_base64required

parse_invoice

Parse Invoice

Parse a receipt or invoice document into structured fields. Uses a quality AI model for accuracy. Use when you need to extract line items, totals, and merchant info from financial documents. For general document text, use extract_text instead. Returns: { invoice: { merchant, date (YYYY-MM-DD), line_items[], subtotal, tax, total }, cited: { <field>: { value, confidence: "high"|"medium"|"low", citations: [{ quote, paragraphs[] }] } } } Example prompts: - "Parse this invoice and give me the line items and total." - "Extract the merchant, date, and amounts from this receipt." - "Read this scanned invoice and return structured data."

Parametersmime_typerequireddocument_base64required

check_claims

Check Claims

Verify a list of factual claims against document text. Uses a quality AI model with citation-level evidence. Use after extract_text or extract_url when you need to validate specific factual assertions. For open-ended questions about a document, use qa_url instead. For multi-document investigation, use ask_collection. Typical workflow: extract_text/extract_url → check_claims. Returns: { claims: [{ claim, status: "supported"|"contradicted"|"not_found", evidence: { quote, paragraphs[] }, confidence: "high"|"medium"|"low" }], truncated: boolean } Example prompts: - "Check whether this contract mentions a liability cap of $1M." - "Verify these claims against the document: [claims list]." - "Does the report actually say revenue grew 23%?"

Parameterstextrequiredclaimsrequiredmax_tokens

extract_structured

Extract Structured Data

Extract typed fields from document text using a caller-defined schema. Uses a quality AI model with retry logic. Use when you need specific data points from a document rather than full text. For invoices with known fields, parse_invoice (prebuilt schema) may be simpler. For general summarization, use summarize_document instead. Schema format: { "field_name": "type hint or description" } — e.g. { "contract_date": "ISO date", "party_a": "string", "penalty_usd": "number" }. Returns: { data: { <field>: value }, data_cited: { <field>: { value, confidence: "high"|"medium"|"low", citations: [{ quote, paragraphs[] }] } } } Example prompts: - "Extract the contract date, parties, and penalty amount from this agreement." - "Pull the vendor name, PO number, and total from this document." - "Get me all named fields from this form using my custom schema."

Parameterstextrequiredschemarequiredmax_tokens

summarize_document

Summarize Document

Summarize document text into a prose summary and key points with citations. Use after extract_text or extract_url when you need a condensed understanding of a long document. For single-sentence Q&A, use qa_url instead. For extracting specific fields, use extract_structured. Typical workflow: extract_text/extract_url → summarize_document. Returns: { summary: string, key_points: string[], summary_cited: { value, confidence, citations[] }, key_points_cited: [{ text, citations[] }], truncated: boolean, strategy: "full"|"truncated"|"chunked" } Example prompts: - "Summarize this financial report and give me the key points." - "What are the main takeaways from this document?" - "Give me a concise summary of this 50-page report."

Parameterstextrequiredmax_tokens

verify_bundle

Verify Evidence Bundle

Verify the cryptographic integrity of an evidence bundle (ev_...) owned by your API key. Checks manifest hash, EIP-191 signature, and R2 artifact hashes. Free — no credits consumed. Use when you need to confirm a bundle has not been tampered with. For quick metadata lookups (without full crypto verification), use get_bundle instead. Returns: { valid: boolean, bundle_id, manifest_sha256, checks: { status, manifest_hash, signature, artifacts: [{ name, ok }] }, tampered: string[], signer_address: string|null, attestation_tx: string|null, url: string, captured_at: string } Example prompts: - "Verify the cryptographic integrity of bundle ev_550e8400." - "Is this evidence bundle still valid and untampered?" - "Deep-check the manifest hash and signature of my bundle."

Parametersbundle_idrequired

create_collection

Create Collection

Create a named document collection for cross-document semantic search and RAG-based Q&A. Free — no credits consumed. Use when you want to group related evidence bundles for unified search (search_collection) or question answering (ask_collection). NOTE: Collections start empty. Add evidence bundles with add_document_to_collection. Indexing is async — once complete, use search_collection or ask_collection. Returns: { collection_id: string (col_...), name: string } Example prompts: - "Create a collection called Q4 Contracts for my quarterly reports." - "Set up a new document group named Due Diligence Docs." - "Make a collection to organize my vendor agreements."

Parametersnamerequired

search_collection

Search Collection

Semantic (vector) search across documents in a collection. Returns ranked text chunks with relevance scores. Free — no credits consumed. Use when you need raw matching chunks from a collection. For a synthesized cited answer from the same context, use ask_collection instead. PREREQUISITE: Collection must be populated via add_document_to_collection and async indexing must complete (poll get_job_status) before results appear. Returns: { results: [{ bundle_id, chunk_id, text, score: number (0–1), title? }] } Example prompts: - "Search my Q4 Contracts collection for mentions of liability cap." - "Find the clause about data retention in my due diligence docs." - "Search for revenue numbers across my quarterly reports."

Parameterslimitqueryrequiredcollection_idrequired

ask_collection

Ask Collection

Answer a question using RAG over a document collection. Retrieves relevant chunks then synthesizes a cited answer with source attribution. Use when you need a direct answer grounded in your collection documents. For raw matching chunks (without synthesis), use search_collection instead. For single-document Q&A, use qa_url instead. PREREQUISITE: Collection must be populated via add_document_to_collection and indexed before results appear. Returns: { answer: string, sources: [{ bundle_id, chunk_id }], retrieval: [{ bundle_id, chunk_id, text, score }] } Example prompts: - "What are the key terms of the service agreement in my collection?" - "Based on my due diligence docs, what are the main risks?" - "Answer this question using all documents in the Q4 Contracts collection."

Parametersquestionrequiredmax_chunkscollection_idrequired

extract_url

Extract Text from URL

Fetch a public HTTPS URL and return extracted text and page metadata. Lean mode — no evidence bundle stored, no bundle_id returned. Use for raw text extraction from web pages and online documents. Use summarize_url for summaries, qa_url for Q&A, translate_url for translation, extract_text for base64 file uploads. Returns: { url, title, word_count, text, final_url (after redirects) } Example prompts: - "Extract the text from https://example.com/report.pdf for me." - "Get me the raw content of this web page: [URL]." - "Pull the text from this online article so I can analyze it."

Parametersurlrequired

summarize_url

Summarize URL

Fetch a public HTTPS URL and return a prose summary with key points. Lean mode — no bundle stored. Use when you need a condensed understanding of a web page. For raw text, use extract_url. For asking a specific question about a page, use qa_url. Returns: { url, summary, key_points: string[], truncated: boolean, word_count } Example prompts: - "Summarize https://en.wikipedia.org/wiki/Artificial_intelligence for me." - "Give me the key points from this blog post: [URL]." - "What is this article about? Summarize [URL]."

Parametersurlrequiredmax_tokens

qa_url

Ask a Question About a URL

Fetch a public HTTPS URL and answer a specific question about its content. Lean mode — no bundle stored. Use when you have a precise question about a web page. For a broad summary, use summarize_url. For multi-document Q&A, use ask_collection instead. Returns: { url, answer, answer_cited: { value, confidence, citations[] }, confidence: "high"|"medium"|"low", truncated } Example prompts: - "What is the refund policy at https://docs.example.com/policy?" - "Look at [URL] and tell me what the delivery terms are." - "Answer this question based on the content of [URL]: [question]."

Parametersurlrequiredquestionrequiredmax_tokens

translate_url

Translate URL

Fetch a public HTTPS URL and return its content translated into a target language. Lean mode — no bundle stored. Use when you need to understand web content in a different language. For extracting raw untranslated text, use extract_url instead. Returns: { url, translated_text, target_lang, truncated } Example prompts: - "Translate https://example.de/artikel into English for me." - "Translate this German article into Spanish: [URL]." - "Fetch [URL] and give me the French translation."

Parametersurlrequiredmax_tokenstarget_langrequired

get_bundle

Get Evidence Bundle

Retrieve metadata for an evidence bundle (ev_...) owned by your API key. Free — no credits consumed. Use for quick status/metadata lookups such as checking if a bundle is complete, finding its notarization status, or viewing retention/legal hold info. For deep cryptographic integrity verification (hash + signature + artifact checks), use verify_bundle instead. Returns: { bundle_id, source_url, mode, status: "pending"|"complete"|"failed", manifest_sha256, manifest_signature, signer_address, attestation_tx, attestation_at, eas_uid, parent_bundle_id, superseded_by, legal_hold: boolean, retention_until, created_at } Example prompts: - "Show me the metadata for bundle ev_550e8400." - "Check the status and notarization info of my evidence bundle." - "Get me the details of bundle [ev_id] — is it complete?"

Parametersbundle_idrequired

notarize_bundle

Notarize Bundle On-Chain

Notarize an evidence bundle on-chain by writing its manifest SHA-256 to the blockchain (Base/EVM). Creates a permanent, tamper-evident on-chain record of the document fingerprint. If the bundle is already notarized, returns the existing attestation immediately (idempotent). Use when you need an immutable on-chain timestamp proving a document existed at a point in time. For quick integrity checks without on-chain cost, use verify_bundle instead. PREREQUISITE: Bundle status must be "complete". Check status with get_bundle first. NOTE: Costs gas (ETH). The on-chain record is permanent and cannot be deleted even if the bundle is later purged. Returns: { bundle_id, attestation: { tx_hash, network, attested_at, key_id, eas_uid?, schema_uid? } } Example prompts: - "Notarize bundle ev_550e8400 on-chain so I have a permanent record." - "Put the fingerprint of my evidence bundle on the blockchain." - "Create an on-chain timestamp for this document bundle."

Parametersbundle_idrequired

verify_action_receipt

Verify Action Receipt

Independently verify a signed action receipt (rcpt_...) returned by get_bundle, verify_bundle, notarize_bundle, or add_document_to_collection. Free — no credits consumed. Proves both that the receipt signature is authentic AND that the manifest_sha256 it was bound to still matches the bundle's current manifest — i.e. that the action was not performed against a stale or since-superseded document. Use for third-party audit of an agent's prior actions. Returns: { receipt_id, valid: boolean, signature_valid: boolean, manifest_matches_current: boolean, bundle_id, agent_id, action, manifest_sha256, signer_address, signed_at, tampered: string[] } Example prompts: - "Verify action receipt rcpt_550e8400 is authentic and still current." - "Was this receipt signed against the real document, or a stale copy?"

Parametersreceipt_idrequired

get_job_status

Get Job Status

Poll the status of an async job (extract, indexing, batch). Free — no credits consumed. Use after add_document_to_collection or async extract to check when processing completes. Poll this endpoint in a loop until status is "complete" or "failed". Completed jobs include the bundle_id or result_json in the response. Jobs are created when you POST /v1/extract with a webhook, or when add_document_to_collection triggers async indexing. Returns: { id, type: "extract"|"extract_batch"|"index_collection", status: "queued"|"processing"|"complete"|"failed"|"cancelled", progress_pct: number (0–100), progress_message, bundle_id (when complete), result_json (when complete), error (when failed), created_at, completed_at } Example prompts: - "Check the status of my indexing job job_550e8400." - "Is my async extract job done yet?" - "Poll job [job_id] — what is the current progress?"

Parametersjob_idrequired

list_collections

List Collections

List all document collections owned by your API key. Free — no credits consumed. Use before search_collection or ask_collection when you need the collection ID. Supports pagination with limit and offset. Returns: { collections: [{ id, name, created_at }] } Example prompts: - "List all my document collections." - "Show me the collections I have created." - "What collections do I own? List them."

Parameterslimitoffset

add_document_to_collection

Add Document to Collection

Add an evidence bundle to a collection and trigger async vector indexing. Use after create_collection to populate a collection with documents. Once indexed, documents become searchable via search_collection and ask_collection. Indexing is async — poll get_job_status with the returned job_id until status is "complete". PREREQUISITE: Bundle must have status "complete" (check with get_bundle). Collection must be owned by your API key. Returns: { collection_id, bundle_id, job_id (poll for indexing completion) } Example prompts: - "Add my contract bundle ev_550e8400 to the Q4 Contracts collection." - "Put this evidence bundle into my Due Diligence Docs collection for search." - "Add document [bundle_id] to collection [col_id] with a title."

Parameterstitlebundle_idrequiredcollection_idrequired

get_quota

Get Quota

Get current credit balance and plan details for your API key. Free — no credits consumed. Check this before running credit-consuming operations (extract, summarize, etc.) to avoid QUOTA_EXCEEDED errors. Returns plan tier, billing period, and usage breakdown. Returns: { plan_id, billing_period (YYYY-MM), credits_used, credits_limit, credits_remaining, status: "active"|"suspended" } Example prompts: - "How many credits do I have left this month?" - "Check my current quota and plan status." - "Am I going to hit my credit limit soon?"

Takes no parameters.

Version history

1
  1. v1.0.4LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.