# Mathpix

```json
{
  "name": "Mathpix",
  "slug": "mathpix",
  "url": "https://composio.dev/toolkits/mathpix",
  "markdown_url": "https://composio.dev/toolkits/mathpix.md",
  "logo_url": "https://logos.composio.dev/api/mathpix",
  "categories": [
    "document & file management"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-09-12T05:37:03.269Z"
}
```

![Mathpix logo](https://logos.composio.dev/api/mathpix)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Mathpix MCP or direct API to extract text from images, convert equations to LaTeX, parse tables into CSV, and generate editable documents through natural language.

## Summary

Mathpix extracts text, mathematics, tables, and other structured content from images and documents.
Converts visual content into editable formats for publishing, computation, and archival.

## Categories

- document & file management

## Toolkit Details

- Tools: 28

## Images

- Logo: https://logos.composio.dev/api/mathpix

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Mathpix.
  - Setup:
    - Configure Api Key credentials for Mathpix.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Extract LaTeX from equation image
- Parse photographed table into CSV
- Summarize handwritten notes from photo

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `MATHPIX_CONVERT_MATHPIX_MARKDOWN` | Convert Mathpix Markdown | Submit Mathpix Markdown, wait for one requested format to finish, then return the conversion ID and downloadable output file. The remote conversion remains if waiting fails or times out. |
| `MATHPIX_CREATE_APP_TOKEN` | Create App Token | Mint a short-lived client OCR credential, optionally with a live ink strokes session. Requires explicit acknowledgement because the response exposes the new secret exactly once to the caller. |
| `MATHPIX_DELETE_CONVERSION` | Delete Conversion | Permanently delete one Mathpix Markdown conversion's hosted output data after explicit confirmation. The response preserves the status immediately before deletion; Mathpix may continue to report that status after the output data has been deleted. |
| `MATHPIX_DELETE_DOCUMENT` | Delete Document | Permanently delete one Mathpix document source and its hosted outputs after explicit confirmation. The response reports the status immediately before deletion, not a deleted status marker, and cached downloads may remain reachable for up to 10 minutes. |
| `MATHPIX_DELETE_FILE` | Delete File | Permanently delete one terminal Files API file and its Mathpix-hosted results. This does not remove customer-owned destination objects, reverse billing, or delete a file that is still processing. |
| `MATHPIX_FINALIZE_FILE_JOB` | Finalize File Job | Permanently close one Files API job to new file additions and arm its completion webhook. Already accepted files may continue processing. Requires explicit confirmation; repeating the same finalization is provider-idempotent. |
| `MATHPIX_GET_APP_TOKEN` | Get App Token | Get expiry and ownership metadata for a specific short-lived Mathpix app token. The secret token is used only in the request path and is omitted from the returned object and provider-error diagnostics. |
| `MATHPIX_GET_CONVERSION_RESULT` | Get Conversion Result | Wait for an existing Mathpix Markdown conversion and requested format to finish, then return its status and downloadable output file without creating a conversion. |
| `MATHPIX_GET_DOCUMENT_RESULT` | Get Document Result | Wait for an existing Mathpix document job and requested format to finish, then return its status and downloadable output file without creating a new job. |
| `MATHPIX_GET_FILE_JOB` | Get File Job | Get aggregate status, file and page counters, and timestamps for one Files API job. A completed job can still contain errored files; inspect files_errored and has_file_errors. |
| `MATHPIX_GET_FILE_RESULT` | Get File Result | Wait for an existing Files API file and selected format to finish, then return its status and downloadable output without creating a file. |
| `MATHPIX_GET_JOB_FILE_BY_CUSTOM_ID` | Get Job File by Custom ID | Get the complete Files API processing status for one job member using the exact caller-defined custom ID assigned at submission. |
| `MATHPIX_GET_OCR_USAGE` | Get OCR Usage | Return one page of aggregated Mathpix OCR usage for a date range, optionally grouped by usage type, request configuration, or application. |
| `MATHPIX_GET_STORAGE_ONBOARDING_IDENTITIES` | Get Storage Onboarding Identities | Get the Mathpix AWS, Azure, and GCP identities needed to grant cloud-storage access. Requires explicit acknowledgement because the first call may lazily create the account's immutable external ID. |
| `MATHPIX_LIST_CONVERSIONS` | List Conversions | List one page of retained Mathpix Markdown conversion records, optionally filtered by date, and return IDs usable by conversion result or deletion tools. |
| `MATHPIX_LIST_DATA_SOURCES` | List Data Sources | List cloud-storage data sources registered with Mathpix, returning only allowlisted non-secret metadata. |
| `MATHPIX_LIST_DOCUMENTS` | List Documents | List retained document OCR jobs for the connected account, optionally filtered by date or document ID, and return one page. |
| `MATHPIX_LIST_FILE_JOB_FILES` | List File Job Files | List one cursor-paginated page of files in a Mathpix Files API job, optionally filtered by terminal status. |
| `MATHPIX_LIST_FILE_JOBS` | List File Jobs | List one cursor-paginated page of Files API jobs newest first, optionally bounded by inclusive UTC dates. |
| `MATHPIX_OCR_DOCUMENT` | OCR Document | Submit a PDF, office document, or ebook URL, wait for OCR and the requested conversion to finish, then return its Mathpix job ID and downloadable output file. Mathpix retains the remote job after success; call Delete Document when the hosted source and outputs are no longer needed. |
| `MATHPIX_OCR_IMAGE` | OCR Image | Extract text, math, tables, diagrams, or chemistry from one image URL or base64 data URI and return the requested OCR representations. Mathpix may retain the submitted image and result, and provides no image deletion endpoint. |
| `MATHPIX_PROCESS_FILE_URI` | Process File URI | Submit one public or registered-cloud document URI to the paid Files API, wait for OCR and one requested output, and return the retained file ID and downloadable result. Supply an idempotency key for safely retryable standalone submissions. External storage writes or callback delivery require explicit authorization. |
| `MATHPIX_PROCESS_IMAGE_BATCH` | Process Image Batch | Submit a paid asynchronous batch of 1-100 named public image URLs, wait until every key has a semantically successful OCR result, and return the retained batch ID and results. Explicit confirmation is required because Mathpix provides no batch deletion route and may deliver an external callback. |
| `MATHPIX_RECOGNIZE_STROKES` | Recognize Strokes | Recognize handwritten math or text from aligned x/y digital-ink stroke arrays and return OCR representations. This paid call may retain the result. |
| `MATHPIX_REVOKE_APP_TOKEN` | Revoke App Token | Irreversibly revoke one short-lived app token immediately. Existing clients using the credential will stop authenticating. Requires explicit confirmation. |
| `MATHPIX_SEARCH_OCR_RESULTS` | Search OCR Results | Search retained image and stroke OCR history by date, identifiers, content, tags, or detected content and return one page of results. |
| `MATHPIX_SUBMIT_FILE_JOB` | Submit File Job | Submit 1 to 200,000 remote documents as one paid asynchronous Mathpix Files job. This creates retained processing state and may read or write external storage or deliver callbacks. Acceptance defers per-file validation, so use job status and member listing tools to determine actual outcomes. |
| `MATHPIX_UPLOAD_AND_PROCESS_FILE` | Upload and Process File | Upload one local document to the paid Mathpix Files API, wait until OCR and one requested output are ready, then return the retained Mathpix file ID and a downloadable result. The operation can consume page quota and does not delete the remote file; use Delete File when it is no longer needed. External storage writes or callback delivery require explicit authorization. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Mathpix Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Mathpix actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Mathpix
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Mathpix tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Mathpix Integration

- Supports both Mathpix MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Mathpix data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Mathpix access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Mathpix
- Scoped, least privilege access to Mathpix resources
- Full audit trail of agent actions to support review and compliance

## Use Mathpix with any AI Agent Framework

Choose a framework you want to connect Mathpix with:

- [ChatGPT Work](https://composio.dev/toolkits/mathpix/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/mathpix/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/mathpix/framework/hermes-agent)

## Related Toolkits

- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [ActiveMerge](https://composio.dev/toolkits/active_merge) - ActiveMerge is a document automation platform for generating documents, images, merged files, and e-signature workflows. It helps teams turn templates and stored files into finished, shareable documents faster.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Airparser](https://composio.dev/toolkits/airparser) - Airparser is an AI-powered parser for extracting structured data from emails, documents, PDFs, and files. It turns messy inbound content into clean fields your apps and workflows can use.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Archive.org](https://composio.dev/toolkits/archive_org) - Archive.org is the Internet Archive's digital library of websites, books, audio, video, and images. Use it to preserve, explore, and access historical web captures and public-domain media.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Box MCP](https://composio.dev/toolkits/box_mcp) - Box MCP is Box's hosted MCP server that exposes enterprise files, folders, and metadata. It provides secure, centralized access to corporate content for search and management.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [CertSeal](https://composio.dev/toolkits/cert_seal) - CertSeal is an API platform for issuing and managing verifiable digital certificates. Use it to automate trusted certificate workflows for recipients, batches, designs, and webhooks.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.

## Frequently Asked Questions

### Do I need my own developer credentials to use Mathpix with Composio?

Yes, Mathpix requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
