npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@foxitsoftware/mcp-server-foxit-cloudapi

v1.1.1

Published

MCP server for using the Foxit Cloud API

Readme

MCP server for using the Foxit Cloud API

Requirements

  • 本地需要安装Node.js且版本大于等于18.0.0

Features

  • PDF创建和转换:支持从其他文件格式创建PDF文件,并将PDF转换为其他格式,如HTML、Word等。
  • PDF合并和拆分:支持将多个PDF文件合并为一个,或将一个PDF文件拆分为多个。
  • PDF压缩和优化:通过图像压缩和优化来减小PDF文件大小,扁平化,线性化文档等功能
  • PDF安全:提供密码保护和高级加密功能,确保PDF文件的安全性。

Tools

combine_pdf

将压缩或归档文件中的多个PDF文档,合并为一个PDF文档。使用示例1:把<absolute_path/file_name.zip>中的PDF文档合并为一个PDF。使用示例2:把<url/file_name.pdf>, <url/file_name1.pdf>合并为一个PDF。

参数:

  • path: string - 压缩或归档文件的绝对路径或多个URL地址
  • config: object - 配置项
    • isAddBookmark: boolean - 是否添加书签
    • isAddTOC: boolean - 是否添加目录
    • isContinueMerge: boolean - 如果发生错误是否继续合并
    • isRetainPageNum: boolean - 是否保留页面逻辑号
    • bookmarkLevels: enum('0', '1', '2', '3', '4', '5') - 是否显示目录的等级

compare_pdf

逐页比较一个PDF文档(作为“基准文档”)与另一个PDF文档(作为“比较文档”)。使用示例1:把<absolute_path/file_name.pdf>与<absolute_path/file_name.pdf>进行比较。使用示例2:把<absolute_path/file_name.pdf>与<absolute_path/file_name.pdf>进行比较,比较结果为:pdf。使用示例3:把<url/file_name.pdf>与<url/file_name.pdf>进行比较。

参数:

  • basePath: string - 基准PDF文档的绝对路径或URL地址
  • comparePath: string - 比较PDF文档的绝对路径或URL地址
  • resultType: enum('json', 'pdf') - 结果类型
  • compareType: enum('all', 'text') - 比较类型

compress_pdf

使用指定的压缩级别压缩PDF文档。使用示例1:压缩<absolute_path/file_name.pdf>。使用示例2:压缩<absolute_path/file_name.pdf>,压缩级别为:high。使用示例3:压缩<url/file_name.pdf>。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • compressionLevel: enum('low', 'medium', 'high') - 压缩级别

convert_pdf

转换PDF文档到其他格式,支持格式:word, excel, ppt, image, text, html。使用示例1:把<absolute_path/file_name.pdf>转换为word。使用示例2:把<absolute_path/file_name.pdf>转换为text。使用示例3:把<url/file_name.pdf>转换为excel。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • format: enum('word', 'excel', 'ppt', 'image', 'text', 'html') - 转换后的文件类型

create_pdf

从其他格式,创建或转换为PDF文档,支持格式:word,excel,ppt,image,text。使用示例1:把<absolute_path/file_name.docx>转换为PDF。使用示例2:把<absolute_path/file_name.txt>转换为PDF。使用示例3:把<url/file_name.png>转换为PDF。

参数:

  • path: string - 转换文件的绝对路径或URL地址
  • format: enum('word', 'excel', 'ppt', 'image', 'text') - 输入的文件类型

create_pdf_from_html

从HTML文件或指定站点URL创建PDF。使用示例1:把<absolute_path/file_name.html>转换为PDF。使用示例2:把<url>转换为PDF。使用示例3:把<url>转换为PDF,页面模式为:单页。使用示例4:把<url/flie_name.html>转换为PDF,输入格式为:html。

参数:

  • format: enum('url', 'html', 'htm', 'shtml') - 输入格式,如果是url,则url参数不能为空,否则path参数不能为空
  • path: string - HTML文件的绝对路径或URL地址
  • url: string - URL
  • config: object - 配置项
    • width: number - 页面宽度,该值必须大于16,默认值为900(单位为1/72英寸)
    • height: number - 页面高度,该值必须大于16,默认值为600(单位为1/72英寸)
    • rotate: number - 页面旋转,0:0度,1:90度,2:180度,3:270度
    • pageMode: number - 页面模式,0:单页,1:多页
    • pageScaling: number - 页面缩放,1:适应页面,2:适应内容

extract_pdf

提取PDF文档中的文本或图像。使用示例1:提取<absolute_path/file_name.pdf>中的文本。使用示例2:提取<absolute_path/file_name.pdf>中的图片。使用示例3:提取<url/file_name.pdf>中的文本。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • mode: enum('extractImages', 'extractText') - 提取模式,extractText表示提取文本,extractImages表示提取图片
  • pageRange: string - 提取页面范围,A、B和C以逗号分隔。A、B或C可以取数字,如99,也可以取范围,如1-30。如果为空,则提取整个文档

flatten_pdf

使PDF文档页面扁平化,使注释和表单字段成为页面内容的一部分。使用示例1:把<absolute_path/file_name.pdf>扁平化。使用示例2:把<url/file_name.pdf>扁平化。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • pageRange: string - PDF文档的页面范围。文档中的页面可以按任何顺序引用,从开始或结束都可以。例如:1、2、3、7-9、all。如果未指定,则执行所有页面

linearize_pdf

线性化PDF文档。使用示例1:把<absolute_path/file_name.pdf>线性化。使用示例2:把<url/file_name.pdf>线性化。

参数:

  • path: string - PDF文档的绝对路径或URL地址

manipulation_pdf

操作PDF文档,例如删除页面,旋转页面,移动页面。使用示例1:删除<absolute_path/file_name.pdf>的第1页。使用示例2:把<absolute_path/file_name.pdf>的第2页移到第1页。使用示例3:删除<url/file_name.pdf>的第1页。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • config: object - PDF文档操作配置
    • pageAction: enum('delete', 'rotate', 'move') - 页面操作类型
    • pages: array(number) - 操作的页码,如[0,1,2,3],页面索引从0开始
    • angle: number - 页面旋转,0:0度,1:90度,2:180度,-1:270度
    • destination: number - 目标页码,如果"页面操作类型"是"移动",它是必需的

protect_pdf

使用用户或/和所有者密码保护PDF文档,并对某些功能设置限制。使用示例1:给<absolute_path/file_name.pdf>设置用户密码,密码为:123456。使用示例2:给<absolute_path/file_name.pdf>设置所有者密码,密码为:123456,权限设置为:不允许修改PDF内容。使用示例3:给<url/file_name.pdf>设置用户密码,密码为:123456。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • passwordProtection: object - 密码保护设置,必须至少设置一个密码
    • userPassword: string - 用户密码
    • ownerPassword: string - 所有者密码
  • permission: object - 权限设置
    • PRINT_LOW_QUALITY: boolean - 以正常模式打印PDF文档
    • PRINT_HIGH_QUALITY: boolean - 以高质量打印PDF文档
    • EDIT_CONTENT: boolean - 修改PDF内容。设置该值后,用户可以通过操作修改PDF文档的内容
    • EDIT_FILL_AND_SIGN_FORM_FIELDS: boolean - 填写PDF表格。如果设置了该值,用户可以填写交互式表单字段(包括签名字段)
    • EDIT_ANNOTATION: boolean - 操作文本注释和填写交互式表单字段。如果还设置了"修改PDF内容"值,则用户可以创建或修改交互式表单字段
    • EDIT_DOCUMENT_ASSEMBLY: boolean - 组装PDF文档。如果设置了这个值,就可以组装文档(插入、旋转或删除页面以及创建书签或缩略图),而不管是否设置了"修改PDF内容"值
    • COPY_CONTENT: boolean - 残疾的支持。如果设置了此值,用户可以提取文本和图形,以支持残疾用户的可访问性或用于其他目的
  • encryptionAlgorithm: enum('AES_128', 'AES_256', 'RC4') - 加密算法

remove_password

从PDF文档中删除密码安全性。使用示例1:移除<absolute_path/file_name.pdf>的用户密码,密码为:123456。使用示例2:移除<absolute_path/file_name.pdf>的所有者密码,密码为:123456。使用示例3:移除<url/file_name.pdf>的用户密码,密码为:123456。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • password: string - PDF文档密码。如果PDF受所有者密码保护,则用户需要在该字段中使用所有者密码来取消文档安全性,否则用户需要传入用户密码来打开文档

split_pdf

将PDF文档拆分为多个较小的文档。使用示例1:把<absolute_path/file_name.pdf>拆分为多个文档,拆分后的页数为:3。使用示例2:把<url/file_name.pdf>拆分为多个文档,拆分后的页数为:2。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • config: object - 配置项
    • pageCount: number - 拆分后的页数

apply_certificate

申请数字证书,返回证书ID。使用示例1:申请数字证书,经办人:<agent_name>,身份证号码:<agent_id_card>,手机号码:<agent_phone>,企业名称:<org_name>,企业法定代表人:<org_legal_person>,企业统一社会信用代码:<org_register_no>,法人证件号:<org_legal_person_id_card>。使用示例2:申请数字证书,经办人:<agent_name>,身份证号码:<agent_id_card>,手机号码:<agent_phone>,企业名称:<org_name>,企业法定代表人:<org_legal_person>,企业统一社会信用代码:<org_register_no>,法人证件号:<org_legal_person_id_card>。再对<url/file_name.pdf>进行数字签名。

参数:

  • certValid: number - 证书有效期,单位为年。最长5年,最短1年。默认值为1年
  • agentName: string - 经办人名称
  • agentIdCard: string - 经办人身份证号码
  • agentPhone: string - 经办人手机号码
  • orgName: string - 企业组织名称
  • orgLegalPerson: string - 企业组织法定代表人
  • orgRegisterNo: string - 企业统一社会信用代码
  • orgLegalPersonIdCard: string - 法人证件号

返回:证书ID(后续 sign_pdf 使用)

sign_pdf

对PDF文档进行数字签名。使用示例1:对<absolute_path/file_name.pdf>进行数字签名,证书ID为:<cert_id>。使用示例2:申请数字证书,经办人:<agent_name>,身份证号码:<agent_id_card>,手机号码:<agent_phone>,企业名称:<org_name>,企业法定代表人:<org_legal_person>,企业统一社会信用代码:<org_register_no>,法人证件号:<org_legal_person_id_card>。再对<url/file_name.pdf>进行数字签名。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • imagePath: string? - 印章图片的绝对路径或URL地址
  • pageIndex: number - 添加印章页码,将放置签名的页索引(从1开始)
  • signatureRect: string - 印章坐标位置,PDF坐标系,格式:[left, bottom, right, top]
  • certId: string - 证书ID
  • appearanceFlag: string? - 外观标志,可选值数组 JSON,如 ["APFlagReason","APFlagSigningTime"]
  • signer: string? - 签名者名称
  • text: string? - 签名文本内容
  • location: string? - 签名地点
  • reason: string? - 签名原因
  • contactInfo: string? - 联系信息

pages_basic_info

获取PDF文档的基本信息。使用示例1:获取<absolute_path/file_name.pdf>的基本信息。使用示例2:获取<url/file_name.pdf>的基本信息,页面范围为:1-5。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • pageRange: string? - 页面范围 (如 1,2,5-9,all)

pages_is_scanned

获取PDF文档的扫描状态。使用示例1:获取<absolute_path/file_name.pdf>的扫描状态。使用示例2:获取<url/file_name.pdf>的扫描状态,页面范围为:1-5。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • pageRange: string? - 页面范围

watermark_pdf

给PDF文档添加水印。使用示例1:给<absolute_path/file_name.pdf>添加文本水印,文本为:<font_text>。使用示例2:给<url/file_name.pdf>添加图片水印,水印图片为:<absolute_path/file_name.png>。

参数:

  • path: string - PDF文档的绝对路径或URL地址
  • imagePath: string? - 水印图片的绝对路径或URL地址(imageObject 时必填)
  • pageRange: string? - 页面范围
  • type: enum('textObject','imageObject') - 水印类型
  • position: number? - 位置 0-8
  • offsetX / offsetY: number? - 偏移
  • flagOnTopOfPage / flagNoPrint / flagInvisible: number? - 标志位
  • scaleX / scaleY: number - 缩放比例
  • rotation: number? - 旋转角度
  • opacity: number? - 透明度 0-100
  • font: object? - 文本水印字体信息 (text, size, fontName, color, style, alignment, lineSpace)

在 VS Code 的 GitHub Copilot 中使用

打开 VS Code 配置文件 mcp.json,添加以下配置,并替换其中的 your_client_id

  • Windows, MacOS, Linux
{
  "servers": {
    // 其他配置 ...
    "mcp-server-foxit-cloudapi": {
      "command": "npx",
      "args": [
        "-y",
        "@foxitsoftware/mcp-server-foxit-cloudapi"
      ],
      "env": {
        "CLIENT_ID": "your_client_id"
      }
    }
    // 其他配置 ...
  }
}

在 VS Code 的 Cline 中使用

打开 Cline MCP 配置文件 cline_mcp_settings.json, 添加以下配置,并替换其中的 your_client_id

  • Windows
{
  "mcpServers": {
    // 其他配置 ...
    "mcp-server-foxit-cloudapi": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@foxitsoftware/mcp-server-foxit-cloudapi"
      ],
      "env": {
        "CLIENT_ID": "your_client_id"
      },
      "transportType": "stdio"
    }
    // 其他配置 ...
  }
}
  • MacOS, Linux
{
  "mcpServers": {
    // 其他配置 ...
    "mcp-server-foxit-cloudapi": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "npx",
      "args": [
        "-y",
        "@foxitsoftware/mcp-server-foxit-cloudapi"
      ],
      "env": {
        "CLIENT_ID": "your_client_id"
      },
      "transportType": "stdio"
    }
    // 其他配置 ...
  }
}