Koskamo

FileForge MCP

FileForge provides deterministic file-processing tools as an MCP connector for AI chat applications. It allows users to extract tables from PDFs into Excel, merge multiple PDFs, convert images to PDF, and fill PDF forms directly within clients like Claude or ChatGPT.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

FileForge MCP logo, by FileForgeCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-02Published by FileForge
MCP endpoint (Streamable HTTP)
https://fileforge.niux12345.com/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

4 of 4 have a description · 4 of 4 declare behavior hints · 0 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Extract tables from PDFs into Excel workbooks
  • Merge multiple PDFs into a single file
  • Convert images to PDF
  • Fill PDF forms with provided values

Source and maintenance

Community listingRegistry 0.3.0
Last repository push
Maintenance checked

Protocol and capabilities

Server
FileForge 1.30.0
MCP protocol negotiated in check
2025-06-18
Tools
4 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

FileForge performs deterministic file processing: extract tables from a PDF into Excel, merge PDFs, combine images into a PDF, and fill fillable PDF forms. Send file contents as base64-encoded strings. Each call returns a download_url for the produced file; download links expire after 24 hours and files are then deleted. Each call costs 1 credit; the free plan includes 5 calls per month.

Tools

4 advertised

pdf_tables_to_excel — Extract PDF tables to Excel
Advertised by the server during the last successful anonymous check.

Extract all tables detected in a PDF into an Excel (.xlsx) workbook, one worksheet per table. Input: the PDF file's contents as a base64-encoded string (max 25 MB, 500 pages; tables need visible ruling lines or clearly aligned columns). Returns a download_url for the .xlsx file (link valid 24 hours) plus the table count. Costs 1 credit; 5 free calls per month.

pdf_tables_to_excel input schema
{
  "type": "object",
  "title": "pdf_tables_to_excelArguments",
  "required": [
    "pdf_base64"
  ],
  "properties": {
    "pdf_base64": {
      "type": "string",
      "title": "Pdf Base64"
    }
  }
}
pdf_tables_to_excel output schema
{
  "type": "object",
  "title": "pdf_tables_to_excelDictOutput",
  "additionalProperties": true
}
pdf_tables_to_excel annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
merge_pdfs — Merge PDFs
Advertised by the server during the last successful anonymous check.

Merge two or more PDF files into a single PDF, in the order given. Input: a list of base64-encoded PDF file contents (each max 25 MB / 500 pages). Returns a download_url for the merged PDF (link valid 24 hours), its size and page count. Costs 1 credit; 5 free calls per month.

merge_pdfs input schema
{
  "type": "object",
  "title": "merge_pdfsArguments",
  "required": [
    "pdfs_base64"
  ],
  "properties": {
    "pdfs_base64": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Pdfs Base64"
    }
  }
}
merge_pdfs output schema
{
  "type": "object",
  "title": "merge_pdfsDictOutput",
  "additionalProperties": true
}
merge_pdfs annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
images_to_pdf — Combine images into a PDF
Advertised by the server during the last successful anonymous check.

Combine one or more images (PNG/JPEG/WebP) into a single PDF, one image per page, pages sized to each image. Input: a list of base64-encoded image contents (each max 15 MB / 40 MP). Returns a download_url for the PDF (link valid 24 hours), its size and page count. Costs 1 credit; 5 free calls per month.

images_to_pdf input schema
{
  "type": "object",
  "title": "images_to_pdfArguments",
  "required": [
    "images_base64"
  ],
  "properties": {
    "dpi": {
      "type": "integer",
      "title": "Dpi",
      "default": 200
    },
    "images_base64": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Images Base64"
    }
  }
}
images_to_pdf output schema
{
  "type": "object",
  "title": "images_to_pdfDictOutput",
  "additionalProperties": true
}
images_to_pdf annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
pdf_form_fill — Fill a PDF form
Advertised by the server during the last successful anonymous check.

Fill the fields of a fillable PDF form and return the completed form. Input: the PDF's contents as a base64-encoded string, plus a fields object mapping field names to values. Unknown field names are rejected with a list of the form's real fields. Checkboxes accept true/false; radio groups take the chosen option's name; dropdowns take one of their defined choices. Set flatten=true to bake values in so they can no longer be edited. Returns a download_url for the filled PDF (link valid 24 hours). Costs 1 credit; 5 free calls per month.

pdf_form_fill input schema
{
  "type": "object",
  "title": "pdf_form_fillArguments",
  "required": [
    "pdf_base64",
    "fields"
  ],
  "properties": {
    "fields": {
      "type": "object",
      "title": "Fields",
      "additionalProperties": {
        "type": "string"
      }
    },
    "flatten": {
      "type": "boolean",
      "title": "Flatten",
      "default": false
    },
    "pdf_base64": {
      "type": "string",
      "title": "Pdf Base64"
    }
  }
}
pdf_form_fill output schema
{
  "type": "object",
  "title": "pdf_form_fillDictOutput",
  "additionalProperties": true
}
pdf_form_fill annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-02: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
897 ms
95th percentile latency
897 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · repository · passed · metadata changed · updated
  • · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
  • · probe · passed · 897 ms · metadata changed · 4 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http fileforge-mcp https://fileforge.niux12345.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add fileforge-mcp --url https://fileforge.niux12345.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable fileforge-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "fileforge-mcp": {
      "url": "https://fileforge.niux12345.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "fileforge-mcp": {
      "type": "streamableHttp",
      "url": "https://fileforge.niux12345.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start fileforge-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "fileforge-mcp": {
      "type": "http",
      "url": "https://fileforge.niux12345.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http fileforge-mcp https://fileforge.niux12345.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "fileforge-mcp": {
      "url": "https://fileforge.niux12345.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "fileforge-mcp": {
      "serverUrl": "https://fileforge.niux12345.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like FileForge MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.