Skip to main content
Glama

LangExtract MCP Server

by larsenweigle

LangExtract MCP Server

A FastMCP server that provides Model Context Protocol (MCP) tools for Google's langextract library. This server enables AI assistants like Claude Code to extract structured information from unstructured text using Large Language Models through a secure, optimized MCP interface.

Overview

LangExtract is a Python library that uses LLMs to extract structured information from text documents while maintaining precise source grounding. This MCP server exposes langextract's capabilities through the Model Context Protocol with advanced performance optimizations and enterprise-grade security.

The server includes intelligent caching, persistent connections, and server-side credential management to provide optimal performance in long-running environments like Claude Code while maintaining complete security isolation.

Quick Setup for Claude Code

Prerequisites

  • Claude Code installed and configured
  • Google Gemini API key (Get one here)
  • Python 3.10 or higher

Installation

Install directly into Claude Code using the built-in MCP management:

claude mcp add langextract-mcp -e LANGEXTRACT_API_KEY=your-gemini-api-key -- uv run --with fastmcp fastmcp run src/langextract_mcp/server.py

The server will automatically start and integrate with Claude Code. No additional configuration is required.

Verification

After installation, verify the integration by asking Claude Code:

Use the get_server_info tool to show the LangExtract server capabilities

You should see output indicating the server is running with optimization features enabled.

Available Tools

The server provides six MCP tools optimized for text extraction workflows:

Core Extraction

  • extract_from_text - Extract structured information from provided text
  • extract_from_url - Extract information from web content
  • save_extraction_results - Save results to JSONL format
  • generate_visualization - Create interactive HTML visualizations

Server Information

  • list_supported_models - View available language models and recommendations
  • get_server_info - Check server status and capabilities

Usage Examples

Basic Text Extraction

Ask Claude Code to extract information using natural language:

Extract medication information from this text: "Patient prescribed 500mg amoxicillin twice daily for infection" Use these examples to guide the extraction: - Text: "Take 250mg ibuprofen every 4 hours" - Expected: medication=ibuprofen, dosage=250mg, frequency=every 4 hours

Advanced Configuration

For complex extractions, specify configuration parameters:

Extract character emotions from Shakespeare using: - Model: gemini-2.5-pro for better literary analysis - Multiple passes: 3 for comprehensive extraction - Temperature: 0.2 for consistent results

URL Processing

Extract information directly from web content:

Extract key findings from this research paper: https://arxiv.org/abs/example Focus on methodology, results, and conclusions

Supported Models

This server currently supports Google Gemini models only, optimized for reliable structured extraction with advanced schema constraints:

  • gemini-2.5-flash - Recommended default - Optimal balance of speed, cost, and quality
  • gemini-2.5-pro - Best for complex reasoning and analysis tasks requiring highest accuracy

The server uses persistent connections, schema caching, and connection pooling for optimal performance with Gemini models. Support for additional providers may be added in future versions.

Configuration Reference

Environment Variables

Set during installation or in server environment:

LANGEXTRACT_API_KEY=your-gemini-api-key # Required

Tool Parameters

Configure extraction behavior through tool parameters:

{ "model_id": "gemini-2.5-flash", # Language model selection "max_char_buffer": 1000, # Text chunk size "temperature": 0.5, # Sampling temperature (0.0-1.0) "extraction_passes": 1, # Number of extraction attempts "max_workers": 10 # Parallel processing threads }

Output Format

All extractions return consistent structured data:

{ "document_id": "doc_123", "total_extractions": 5, "extractions": [ { "extraction_class": "medication", "extraction_text": "amoxicillin", "attributes": {"type": "antibiotic"}, "start_char": 25, "end_char": 35 } ], "metadata": { "model_id": "gemini-2.5-flash", "extraction_passes": 1, "temperature": 0.5 } }

Use Cases

LangExtract MCP Server supports a wide range of use cases across multiple domains. In healthcare and life sciences, it can extract medications, dosages, and treatment protocols from clinical notes, structure radiology and pathology reports, and process research papers or clinical trial data. For legal and compliance applications, it enables extraction of contract terms, parties, and obligations, as well as analysis of regulatory documents, compliance reports, and case law. In research and academia, the server is useful for extracting methodologies, findings, and citations from papers, analyzing survey responses and interview transcripts, and processing historical or archival materials. For business intelligence, it helps extract insights from customer feedback and reviews, analyze news articles and market reports, and process financial documents and earnings reports.

Support and Documentation

Primary Resources:

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A FastMCP server that enables AI assistants to extract structured information from unstructured text using Google's langextract library through a secure, optimized Model Context Protocol interface.

  1. Overview
    1. Quick Setup for Claude Code
      1. Prerequisites
      2. Installation
      3. Verification
    2. Available Tools
      1. Usage Examples
        1. Basic Text Extraction
        2. Advanced Configuration
        3. URL Processing
      2. Supported Models
        1. Configuration Reference
          1. Environment Variables
          2. Tool Parameters
          3. Output Format
        2. Use Cases
          1. Support and Documentation

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              An MCP server that helps AI assistants access text content from websites that implement bot detection, bridging the gap between what you can see in your browser and what the AI can access.
              Last updated -
              2
              44
              Python
              Apache 2.0
            • -
              security
              F
              license
              -
              quality
              A FastMCP server that enables browser automation through natural language commands, allowing Language Models to browse the web, fill out forms, click buttons, and perform other web-based tasks via a simple API.
              Last updated -
              3
              Python
            • -
              security
              F
              license
              -
              quality
              A custom MCP protocol service that enhances AI models by providing multilingual translation capabilities and resource management, allowing for automatic text extraction and translation through external APIs.
              Last updated -
              TypeScript
            • -
              security
              A
              license
              -
              quality
              A read-only FastMCP server that enables AI assistants to query and retrieve network infrastructure information from NetBox using natural language.
              Last updated -
              Python
              MIT License

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/larsenweigle/langextract-mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server