Token导航 LogoToken导航

MCP Server · AI代理

Gutemberg Extractor MCP

一个基于MCP协议的服务器,用于从Gutenberg文件中提取嵌入式资源(如SVG、PNG、JPG等),支持批量处理和资源分析。

stdio官方级别未说明来源级核验工具 5
批量处理Python文件处理

快速开始

作者 / 组织
fede-ciliberti
提供方
fede-ciliberti
运行时
Python

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Gutemberg Extractor MCP 属于AI代理类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python mcp_server.py --stdio

客户端配置示例

{
  "mcpServers": {
    "gutemberg-extractor-mcp": {
      "command": "python",
      "args": [
        "mcp_server.py",
        "--stdio"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Gutenberg Extractor MCP服务器-完整文档

描述

MCP(模型上下文协议)服务器,用于从Gutenberg文件中提取嵌入式资源。完全符合MCP协议2024-11-05。

特性

MCP协议合规性

  • ✅ 初始化:完全支持MCP协议初始化请求
  • ✅ 工具/列表:实现工具/list方法以返回可用工具的列表
  • ✅ JSON-RPC 2.0:正确处理MCP协议JSON-RPC 2.0请求
  • ✅ 工具注册:工具在响应中正确注册
  • ✅ 检测:MCP系统正确检测到服务器
  • ✅ 测试:完整的协议合规性测试套件

功能

  1. 提取资源:从Gutenberg文件中提取嵌入式资源(SVG、PNG、JPG、WebP、GIF)
  2. 分析文件:分析文件以检测嵌入式资源,而无需处理
  3. 分批处理:批量处理多个Gutenberg文件
  4. get_统计:获取详细的优化统计数据
  5. list_supportd_types:列出支持的资源类型

安装与配置

需求

  • Python 3.9+
  • 库:asyncio、json、日志、pathlib

MCP配置

  1. MCP设置中的配置:
{
  "mcpServers": {
    "gutenberg-extractor": {
      "command": "python",
      "args": ["mcp_server.py", "--stdio"],
      "cwd": "/path/to/tools/gutenberg-extractor"
    }
  }
}

服务器使用情况

标准模式(生产)
python mcp_server.py --stdio
HTTP模式(开发)
python mcp_server.py --host localhost --port 8080

MCP协议API

初始化

请求:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "client-name",
      "version": "1.0.0"
    }
  }
}

响应:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2024-11-05",
    "capabilities": {
      "tools": {}
    },
    "serverInfo": {
      "name": "gutenberg-extractor",
      "version": "2.0.0",
      "description": "MCP server for extracting embedded resources from Gutenberg files"
    }
  }
}

工具/列表

请求:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}

响应:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      {
        "name": "extract_resources",
        "description": "Extract embedded resources from a Gutenberg file (SVG, PNG, JPG, etc.)",
        "inputSchema": {
          "type": "object",
          "properties": {
            "file_path": {
              "type": "string",
              "description": "Path of the Gutenberg file to process"
            },
            "threshold_kb": {
              "type": "integer",
              "description": "Threshold in KB to extract resources",
              "default": 1
            },
            "output_dir": {
              "type": "string",
              "description": "Optional output directory"
            }
          },
          "required": ["file_path"]
        }
      }
      // ... more tools
    ]
  }
}

工具/调用-提取资源

请求:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "extract_resources",
    "arguments": {
      "file_path": "/path/to/gutenberg.template",
      "threshold_kb": 1,
      "output_dir": "/path/to/output"
    }
  }
}

响应:

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "success": true,
    "error": null,
    "results": {
      "original_file": "/path/to/gutenberg.template",
      "optimized_file": "/path/to/gutenberg_optimized.template",
      "assets_directory": "/path/to/output/assets",
      "extracted_resources_count": 15,
      "statistics": {
        "original_size": 1024000,
        "optimized_size": 875200,
        "extracted": 15,
        "bytes_saved": 148800
      },
      "reduction_percentage": 14.53,
      "metadata_file": "/path/to/extraction_metadata.json"
    }
  }
}

传统兼容性

服务器保持与传统方法的兼容性,以方便迁移:

  • extract_resources (直接通话)
  • analyze_file (直接通话)
  • batch_process (直接通话)
  • get_statistics (直接通话)
  • list_supported_types (直接通话)

测试与验证

运行合规性测试

python test_mcp_compliance.py

包含的测试

  1. 初始化测试:验证正确的初始化响应
  2. 工具/列表测试:验证完整的工具列表
  3. 工具/通话测试:测试工具执行
  4. 传统方法测试:确认传统兼容性
  5. 错误处理测试:验证JSON-RPC错误处理

测试报告

===========================================================
FINAL TEST REPORT
===========================================================
initialize: ✅ PASSED
tools_list: ✅ PASSED  
tools_call: ✅ PASSED
legacy_methods: ✅ PASSED
error_handling: ✅ PASSED

Total: 5/5 tests passed
🎉 All tests passed! The server complies with the MCP protocol

完整使用示例

import asyncio
import json

# Simulate initialize request
initialize_request = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize", 
    "params": {
        "protocolVersion": "2024-11-05",
        "capabilities": {},
        "clientInfo": {"name": "test-client", "version": "1.0.0"}
    }
}

# Simulate tools/list request
tools_list_request = {
    "jsonrpc": "2.0", 
    "id": 2,
    "method": "tools/list",
    "params": {}
}

# Simulate tools/call request for list_supported_types
tools_call_request = {
    "jsonrpc": "2.0",
    "id": 3, 
    "method": "tools/call",
    "params": {
        "name": "list_supported_types",
        "arguments": {}
    }
}

故障排除

未检测到服务器

  1. 验证设置中的MCP配置
  2. 运行合规性测试: python test_mcp_compliance.py
  3. 检查服务器日志是否有错误
  4. 确认 mcp_server.py 文件是可执行的

工具未出现

  1. 验证初始化是否正确运行
  2. 确认工具/列表响应工具列表
  3. 检查工具/列出响应结构

JSON-RPC错误

  1. 验证请求的JSON格式
  2. 验证正确的错误代码(-32601、-32602、-32603)
  3. 确认协议版本匹配

日志记录和调试

服务器使用配置如下的日志记录:

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

重要日志

  • INFO - Starting MCP server in stdio mode
  • INFO - Sending request: {method}
  • INFO - Response received: {server_name}
  • ERROR - Error handling request: {error}

项目结构

tools/gutenberg-extractor/
├── mcp_server.py              # Main MCP server
├── test_mcp_compliance.py     # Test suite
├── gutenberg_extractor.py     # Base extractor
├── README.md                  # This documentation
├── example_usage.sh          # Usage example
└── setup_mcp.sh             # Configuration script

版本和更新

  • v2.0.0版本:完全符合MCP协议
  • v1.0.0:基本初始版本

v2.0.0中的更改

  • ✅ 完成初始化/初始化实现
  • ✅ 支持工具/列表和工具/调用
  • ✅ 正式MCP工具注册
  • ✅ 正确的JSON-RPC 2.0响应结构
  • ✅ 合规性测试套件
  • ✅ 与传统方法的兼容性

贡献

  1. 运行测试: python test_mcp_compliance.py
  2. 提交前验证MCP合规性
  3. 用适当的模式记录新工具
  4. 保持与遗留方法的向后兼容性

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

资源提取Python本地部署文件处理MCP协议批量处理Gutenberg

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Gutemberg Extractor MCP

MCP World · 本页

5stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Gutemberg Extractor MCP 怎么安装?

公开资料给出的安装命令是 python mcp_server.py --stdio,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Gutemberg Extractor MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Gutemberg Extractor MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Gutemberg Extractor MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Gutemberg Extractor MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP