An MCP (Model Context Protocol) server that provides access to Tensorlake's document parsing capabilities.
- Document Upload: Upload documents from URLs, local file paths, or data URIs
- Document Parsing: Parse documents into structured data using Tensorlake's AI-powered parsing engine
- Document Management: List and delete documents in your session
- MCP Resources: Access parsed documents as MCP resources for seamless integration
- A Tensorlake API key (sign up at Tensorlake)
- An MCP-compatible host application (e.g., Claude Desktop, Cursor, or other MCP hosts)
go install github.com/sixt/tensorlake-mcp@latestLocate the binary in your GOPATH/bin directory or use the where command to find it. For example:
$ where tensorlake-mcp
/Users/<username>/go/bin/tensorlake-mcp# Clone the repository
git clone <repository-url>
cd tensorlake-mcp
# Build the server
go build -o tensorlake-mcp .The binary will be created as tensorlake-mcp in the current directory.
The server requires the following environment variables:
TENSORLAKE_API_KEY(required): Your Tensorlake API keyTENSORLAKE_API_BASE_URL(optional): The base URL for the Tensorlake API. Defaults tohttps://api.tensorlake.ai/documents/v2
The MCP configuration is:
{
"mcpServers": {
"tensorlake-mcp": {
"command": "/absolute/path/to/tensorlake-mcp",
"env": {
"TENSORLAKE_API_KEY": "your-api-key-here"
}
}
}
}See these articles for setting up the MCP server in your host application:
Once configured, the MCP server provides the following tools:
Upload a document from a URL, local path, or data URI.
Parameters:
url(string, required): The URL of the document to upload- URL:
https://example.com/document.pdf - Local file:
file:///path/to/document.pdf - Data URI:
data:application/pdf;base64,...
- URL:
Returns: A document_id to be used in subsequent operations
Parse an uploaded document into structured data.
Parameters:
document_id(string, required): The ID returned fromupload_documentparse_id(string, optional): The parse ID to check status or get resultssync(boolean, optional): If true, wait for parsing to complete. If false, start parsing in the background
Returns: Parse ID, status, and results (if completed)
List all documents in the current session.
Returns: A list of all uploaded documents with their metadata
Delete a document from Tensorlake.
Parameters:
document_id(string, required): The ID of the document to delete
The server also exposes a tensorlake://documents resource that provides access to all documents and their metadata.
User: Upload and parse this PDF document at https://example.com/invoice.pdf
AI: [Uses upload_document tool]
[Uses parse_document tool with sync=true]
Here's the parsed content from your invoice...
# Set environment variables
export TENSORLAKE_API_KEY="your-api-key"
# Run the server
go build && ./tensorlake-mcpYou can test the server using the MCP Inspector:
npx @modelcontextprotocol/inspector /absolute/path/to/tensorlake-mcpCopyright 2025 SIXT SE. Licensed under the Apache License, Version 2.0. See LICENSE for details.