Token导航 LogoToken导航TokenDH.com
Hkg Ontologizer Kgb MCP logo
数据服务stdio官方级别未说明来源级核验

Hkg Ontologizer Kgb MCP

MCP Server

一个利用本地AI模型将文本或网页内容转换为结构化知识图谱的工具,支持Neo4j和Qdrant数据库存储,并提供实时可视化功能。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
知识图谱PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rebots-online

提供方

rebots-online

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

知识图生成器MCP服务器

一种知识图生成器,使用本地AI模型将文本或web内容转换为结构化知识图,并集成MCP(模型上下文协议),用于Neo4j和Qdrant中的持久存储。

🚀 特性

  • 本地AI处理:通过Ollama或LM Studio使用本地模型进行实体提取
  • 大内容支持:通过智能分块处理任意大的内容(300MB+)
  • Web内容提取:无大小限制地抓取和分析完整网页
  • 知识图生成:创建具有实体和关系的结构化图形
  • 智能分块:通过句子边界检测自动分块大内容
  • 实体合并:智能地跨块合并重复实体
  • 实时可视化:处理块时实时SVG图形更新
  • 交互式SVG输出:带有进度跟踪的颜色编码实体类型
  • MCP集成:将数据存储在Neo4j(图形数据库)和Qdrant(矢量数据库)中
  • UUID跟踪:生成UUID v8,用于跨系统的统一实体跟踪
  • Gradio界面:用户友好的web界面,具有双JSON/SVG输出

📊 提取的实体类型

  • 👥 人:姓名、个人、关键人物
  • 🏢 组织:公司、机构、团体
  • 📍 位置:地点、国家、地区、地址
  • 💡 概念:思想、技术、抽象概念
  • 📅 事件:具体事件、事件、事件
  • 🔧 其他:不适合其他类别的其他实体

🔧 设置

需求

pip install -r requirements.txt

# For full visualization capabilities:
pip install networkx matplotlib

环境变量

有关详细的配置说明和完整的环境变量参考,请参阅 配置 下面的部分。

快速启动配置:

# Basic setup (uses sensible defaults)
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:latest

# Optional: Custom endpoints and processing limits
export OLLAMA_BASE_URL=http://localhost:11434
export CHUNK_SIZE=2000
export MAX_CHUNKS=0

注: 所有环境变量都是可选的,并且都有合理的默认值。应用程序将在没有任何配置的情况下运行。

本地模型设置

对于Ollama:

# Install and start Ollama
curl -fsSL https://ollama.ai/install.sh | sh
ollama serve

# Pull a model
ollama pull llama3.2:latest

对于LM工作室:

  1. 下载并安装LM Studio
  2. 在本地服务器中加载模型
  3. 在端口1234上启动本地服务器

🏃 运行应用程序

python app.py

该应用程序将启动启用MCP服务器功能的Gradio界面。

📝 用法

文本输入

粘贴要分析的任何文本内容:

Apple Inc. was founded by Steve Jobs, Steve Wozniak, and Ronald Wayne in 1976. The company is headquartered in Cupertino, California.

URL输入

提供web URL以提取和分析:

https://en.wikipedia.org/wiki/Artificial_intelligence

大内容处理(300MB+文件)

对于LLM对话摘录等非常大的内容:

# Example: Processing a 300MB conversation log
# The system will automatically:
# 1. Detect large content (>2000 chars by default)
# 2. Split into intelligent chunks at sentence boundaries
# 3. Process each chunk with the local AI model
# 4. Merge and deduplicate entities/relationships
# 5. Store with full lineage tracking in hKG

# Processing will show progress:
# "Processing large content (314,572,800 chars) in chunks..."
# "Processing 157,286 chunks..."
# "Processing chunk 1/157,286 (2000 chars)..."
# "Merged results: 45,231 entities, 128,904 relationships"

输出格式

系统返回一个结构化的JSON知识图:

{
  "source": {
    "type": "text|url",
    "value": "input_value",
    "content_preview": "first 200 characters..."
  },
  "knowledge_graph": {
    "entities": [
      {
        "name": "Apple Inc.",
        "type": "ORGANIZATION",
        "description": "Technology company founded in 1976"
      }
    ],
    "relationships": [
      {
        "source": "Steve Jobs",
        "target": "Apple Inc.",
        "relationship": "FOUNDED",
        "description": "Steve Jobs founded Apple Inc."
      }
    ],
    "entity_count": 5,
    "relationship_count": 4
  },
  "visualization": {
    "svg_content": "...",
    "svg_file_path": "/path/to/knowledge_graph_12345678.svg",
    "visualization_available": true,
    "real_time_updates": false,
    "incremental_files_saved": 0,
    "entity_color_mapping": {
      "ORGANIZATION": "#4ECDC4",
      "PERSON": "#FF6B6B"
    },
    "svg_generation_timestamp": "2024-01-15T10:30:05Z",
    "visualization_engine": "networkx+matplotlib"
  },
  "metadata": {
    "model": "ollama:llama3.2:latest",
    "content_length": 150,
    "uuid": "xxxxxxxx-xxxx-8xxx-xxxx-xxxxxxxxxxxx",
    "neo4j_stored": true,
    "qdrant_stored": true,
    "timestamp": "2024-01-15T10:30:00Z",
    "hkg_metadata": {
      "processing_method": "single",
      "chunk_count": 1,
      "chunk_size": 2000,
      "chunk_overlap": 200,
      "source_type": "text",
      "supports_large_content": true,
      "max_content_size": "unlimited",
      "visualization_integration": {
        "real_time_visualization": false,
        "svg_files_generated": 1,
        "entity_color_tracking": true,
        "visualization_lineage": true,
        "incremental_updates": false,
        "neo4j_viz_metadata": true,
        "qdrant_viz_metadata": true
      }
    }
  }
}

🎨 实时图形可视化

SVG生成功能

  • 颜色编码实体类型:每种实体类型都有不同的颜色(人=红色,组织=青色,位置=蓝色,概念=绿色,事件=黄色,其他=梅花色)
  • 交互式布局:使用NetworkX弹簧布局算法自动进行图形布局
  • 关系标签:显示实体之间关系类型的边标签
  • 实体信息:带有实体名称和类型的节点标签
  • 传说:根据存在的实体类型自动生成图例
  • 统计:实时实体和关系计数

大内容的实时处理

  • 进度跟踪:显示块处理完成的视觉进度条
  • 增量更新:处理每个块后图形更新
  • 实时统计:发现的实体和关系的总数
  • 增量文件保存:每个块创建一个带时间戳的SVG文件
  • 最终可视化:完整图形保存为最终SVG

文件输出

  • 单一内容: knowledge_graph_.svg
  • 大容量(块状):

- 增量: knowledge_graph__chunk_0001.svg, chunk_0002.svg等等。 - 决赛: knowledge_graph_.svg

大型内容处理示例

# Processing a 300MB conversation log:
# "Processing large content (314,572,800 chars) in chunks..."
# "Processing 157,286 chunks..."
# 
# Real-time updates:
# "Processing chunk 1/157,286 (2000 chars)..."
# "Real-time graph updated: Updated graph: 5 entities, 3 relationships (Chunk 1/157,286)"
# "Saved incremental graph: knowledge_graph_12345678_chunk_0001.svg"
# 
# "Processing chunk 2/157,286 (2000 chars)..."
# "Real-time graph updated: Updated graph: 12 entities, 8 relationships (Chunk 2/157,286)"
# "Saved incremental graph: knowledge_graph_12345678_chunk_0002.svg"
# 
# ... continues for all chunks ...
# 
# "Final results: 45,231 entities, 128,904 relationships"
# "Final SVG visualization saved: knowledge_graph_12345678.svg"

🗄️ hKG(混合知识图)存储与可视化集成

Neo4j集成(图形数据库)

  • 将实体存储为具有属性和增强元数据的节点
  • 通过沿袭跟踪在实体之间创建关系
  • 维护UUID v8,用于跨所有数据库进行实体跟踪
  • 跟踪用于大型内容处理的分块元数据
  • 记录处理方法(单张与分块)
  • :实体观察中的可视化元数据,包括:

- SVG文件路径和可用性状态 - 图形可视化的实体颜色映射 - 分块处理的实时更新跟踪 - 用于大型内容处理的增量文件计数

  • 可通过MCP服务器工具访问

Qdrant集成(矢量数据库)

  • 将知识图存储为具有增强元数据的向量嵌入
  • 支持跨任何大小的图形进行语义搜索
  • 维护每个知识图的元数据,包括块信息
  • 跟踪内容长度、处理方法和块计数
  • 支持跨大型文档集合的相似性搜索
  • :可视化沿袭跟踪,包括:

- 实体类型和颜色映射信息 - SVG生成时间戳和文件路径 - 实时可视化更新历史 - 大内容的增量SVG文件跟踪

  • 可通过MCP服务器工具访问

hKG可视化谱系统一跟踪

  • UUID v8跨所有系统:共同祖先编码标识符
  • 内容谱系:跟踪大型内容的处理和分块方式
  • 正在处理元数据:记录块大小、重叠和处理方法
  • 实体来源:跟踪哪些块为每个实体做出了贡献
  • 关系映射:维护跨块边界的关系
  • 语义连贯:确保跨数据库的知识图一致性
  • 新-可视化谱系:完全跟踪视觉表现:

- SVG文件来源:跟踪所有生成的可视化文件 - 颜色映射一致性:跨块维护实体颜色分配 - 实时更新历史记录:记录所有增量可视化更新 - 跨数据库可视化元数据:Neo4j和Qdrant中的同步可视化跟踪 - 增量可视化跟踪:实时图形更新的完整审计跟踪

🔧 建筑

核心组件

  • app.py:带有Gradio界面的主应用程序文件
  • extract_text_from_url():网络抓取功能(app.py:41)
  • chunk_text():具有句子边界检测的智能内容分块(app.py:214)
  • merge_extraction_results():块结果的智能合并(app.py:250)
  • get_entity_color():实体类型颜色映射(app.py:299)
  • create_knowledge_graph_svg():SVG图形生成(app.py:311)
  • RealTimeGraphVisualizer:实时增量可视化(app.py:453)
  • extract_entities_and_relationships():基于人工智能的实体提取,实时更新(app.py:645)
  • extract_entities_and_relationships_single():单块处理(app.py:722)
  • build_knowledge_graph():具有可视化的主编排功能(app.py:795)
  • generate_uuidv8():用于实体跟踪的UUID生成(app.py:68)

具有hKG集成和实时可视化的数据流

  1. 输入处理:文本或URL输入验证
  2. 内容提取:网页抓取URL,直接文本输入文本
  3. 实时可视化设置:初始化增量图形可视化系统
  4. 内容分块:具有句子边界检测的大型内容(>2000个字符)的智能分块
  5. 实时更新的AI分析:本地模型处理实体/关系的每个块
  6. 增量可视化:每个块完成后实时SVG图形更新
  7. 结果合并:跨块的实体/关系的智能重复数据删除和合并
  8. hKG元数据创建:生成用于沿袭跟踪的处理元数据
  9. 图形生成:使用增强的元数据创建结构化知识图
  10. 最终可视化:生成包含所有实体和关系的完整SVG图
  11. hKG存储:Neo4j(图形)和Qdrant(矢量)中的持久性,具有统一的UUID v8跟踪
  12. 输出:JSON响应,包含完整的知识图、hKG元数据和SVG可视化

🎛️ 配置

环境变量引用

所有配置都是通过环境变量处理的。该应用程序为所有设置提供了合理的默认值,允许它在不进行任何配置的情况下运行,同时仍然提供完全的自定义。

完整环境变量表

变量类型默认值必填描述示例值
MODEL_PROVIDER字符串"ollama"要使用的AI模型提供程序"ollama", "lmstudio"
LOCAL_MODEL字符串"llama3.2:latest"本地模型标识符"llama3.2:latest", "mistral:7b", "codellama:13b"
OLLAMA_BASE_URL字符串"http://localhost:11434"没有Ollama API端点"http://localhost:11434", "http://192.168.1.100:11434"
LMSTUDIO_BASE_URL字符串"http://localhost:1234"LM Studio API端点"http://localhost:1234", "http://127.0.0.1:1234"
CHUNK_SIZE整数2000用于AI处理的每个块的字符数1000, 2000, 4000, 8000
CHUNK_OVERLAP整数200上下文块之间重叠100, 200, 400, 500
MAX_CHUNKS整数0要处理的最大块数(0=无限制)0, 100, 1000, 5000
HF_TOKEN字符串NoneHuggingFace API令牌(旧版,未使用)"hf_xxxxxxxxxxxx"

配置方法

1.环境变量(推荐)

# Core Model Configuration
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:latest
export OLLAMA_BASE_URL=http://localhost:11434

# Large Content Processing
export CHUNK_SIZE=2000
export CHUNK_OVERLAP=200
export MAX_CHUNKS=0

2.外壳配置(.bashrc/.zshrc)

# Add to ~/.bashrc or ~/.zshrc
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:latest
export OLLAMA_BASE_URL=http://localhost:11434
export CHUNK_SIZE=2000
export CHUNK_OVERLAP=200
export MAX_CHUNKS=0

3.Python环境文件(.env)

# Create .env file in project root
MODEL_PROVIDER=ollama
LOCAL_MODEL=llama3.2:latest
OLLAMA_BASE_URL=http://localhost:11434
LMSTUDIO_BASE_URL=http://localhost:1234
CHUNK_SIZE=2000
CHUNK_OVERLAP=200
MAX_CHUNKS=0

模型提供程序配置

Ollama配置(默认)

# Basic Ollama setup
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:latest
export OLLAMA_BASE_URL=http://localhost:11434

# Alternative models
export LOCAL_MODEL=mistral:7b          # Mistral 7B
export LOCAL_MODEL=codellama:13b       # Code Llama 13B
export LOCAL_MODEL=llama3.2:3b         # Llama 3.2 3B (faster)
export LOCAL_MODEL=phi3:mini           # Phi-3 Mini (lightweight)

# Remote Ollama instance
export OLLAMA_BASE_URL=http://192.168.1.100:11434

LM工作室配置

# Basic LM Studio setup
export MODEL_PROVIDER=lmstudio
export LOCAL_MODEL=any-model-name      # Model name is flexible for LM Studio
export LMSTUDIO_BASE_URL=http://localhost:1234

# Custom LM Studio port
export LMSTUDIO_BASE_URL=http://localhost:8080

# Remote LM Studio instance
export LMSTUDIO_BASE_URL=http://192.168.1.200:1234

大内容处理配置

块大小优化

# Small chunks (faster processing, more chunks)
export CHUNK_SIZE=1000
export CHUNK_OVERLAP=100

# Medium chunks (balanced performance)
export CHUNK_SIZE=2000    # Default
export CHUNK_OVERLAP=200  # Default

# Large chunks (fewer chunks, more context)
export CHUNK_SIZE=4000
export CHUNK_OVERLAP=400

# Very large chunks (maximum context, slower)
export CHUNK_SIZE=8000
export CHUNK_OVERLAP=800

处理限制

# Unlimited processing (default)
export MAX_CHUNKS=0

# Process only first 100 chunks (testing)
export MAX_CHUNKS=100

# Process first 1000 chunks (moderate datasets)
export MAX_CHUNKS=1000

# Process first 10000 chunks (large datasets)
export MAX_CHUNKS=10000

性能调整指南

用于速度优化

# Smaller chunks, less overlap, limited processing
export CHUNK_SIZE=1000
export CHUNK_OVERLAP=50
export MAX_CHUNKS=500
export LOCAL_MODEL=llama3.2:3b  # Faster model

用于质量优化

# Larger chunks, more overlap, unlimited processing
export CHUNK_SIZE=4000
export CHUNK_OVERLAP=400
export MAX_CHUNKS=0
export LOCAL_MODEL=llama3.2:latest  # Full model

适用于内存受限的系统

# Balanced settings for limited resources
export CHUNK_SIZE=1500
export CHUNK_OVERLAP=150
export MAX_CHUNKS=1000
export LOCAL_MODEL=phi3:mini  # Lightweight model

配置验证

应用程序执行配置设置的自动验证:

  • 模型提供者:验证 MODEL_PROVIDER 要么 "ollama""lmstudio"
  • 网址:验证提供程序URL是否可访问
  • 数值:确保 CHUNK_SIZE, CHUNK_OVERLAP,以及 MAX_CHUNKS 是有效整数
  • 型号可用性:检查提供程序上是否有指定的型号

配置故障排除

常见问题及解决方法

1.模型提供者没有响应

# Check if Ollama is running
curl http://localhost:11434/api/version

# Check if LM Studio is running
curl http://localhost:1234/v1/models

# Solution: Start the appropriate service
ollama serve  # For Ollama
# Or start LM Studio GUI and enable local server

2.未找到型号

# List available Ollama models
ollama list

# Pull missing model
ollama pull llama3.2:latest

# For LM Studio: Load model in GUI

3.大内容的内存问题

# Reduce chunk size and set limits
export CHUNK_SIZE=1000
export MAX_CHUNKS=100

# Use lighter model
export LOCAL_MODEL=llama3.2:3b

4.处理速度慢

# Optimize for speed
export CHUNK_SIZE=1500
export CHUNK_OVERLAP=100
export MAX_CHUNKS=500
export LOCAL_MODEL=phi3:mini

示例配置场景

场景1:开发设置

# Fast iteration, limited processing
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:3b
export CHUNK_SIZE=1000
export CHUNK_OVERLAP=100
export MAX_CHUNKS=50

场景2:生产设置

# High quality, unlimited processing
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:latest
export CHUNK_SIZE=3000
export CHUNK_OVERLAP=300
export MAX_CHUNKS=0

场景3:大数据集处理

# Optimized for 300MB+ files
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=llama3.2:latest
export CHUNK_SIZE=2000
export CHUNK_OVERLAP=200
export MAX_CHUNKS=0

场景4:资源受限的环境

# Minimal resource usage
export MODEL_PROVIDER=ollama
export LOCAL_MODEL=phi3:mini
export CHUNK_SIZE=800
export CHUNK_OVERLAP=50
export MAX_CHUNKS=200

高级配置

自定义模型端点

# Docker-based Ollama
export OLLAMA_BASE_URL=http://ollama-container:11434

# Kubernetes service
export OLLAMA_BASE_URL=http://ollama-service.default.svc.cluster.local:11434

# Load balancer
export OLLAMA_BASE_URL=http://ollama-lb.example.com:11434

动态配置

应用程序在启动时读取环境变量。要更改配置,请执行以下操作:

  1. 设置新的环境变量
  2. 重新启动应用程序
  3. 配置更改立即生效

错误处理

全面的错误处理:

  • URL无效或网络故障
  • 缺少本地模型或API终结点
  • LLM响应中的JSON解析错误
  • 输入格式错误或为空
  • 数据库连接问题
  • 配置值无效
  • 模型提供程序连接问题
  • 大型内容处理过程中的内存限制

🔍 hKG MCP与视觉谱系的集成

该应用程序与MCP服务器集成,用于混合知识图存储,并具有完整的可视化跟踪功能:

  • Neo4j:具有增强元数据+可视化沿袭的图形数据库存储和查询
  • Qdrant:用于语义搜索的矢量数据库,带有块跟踪+视觉元数据
  • 统一跟踪:UUID v8跨所有存储系统,用于实体沿袭+可视化来源
  • 元数据持久化:处理方法、块计数、内容沿袭+SVG生成跟踪
  • 大内容支持:通过分块+实时可视化无缝处理300MB+内容
  • 可视化集成:在所有存储系统中完成可视化表示跟踪

通过MCP增强hKG功能

  • 实体来源:跟踪哪些内容块为每个实体做出了贡献+它们的视觉表示
  • 关系谱系:维护跨块边界的关系+视觉边缘跟踪
  • 内容祖先:用于分层内容跟踪的UUID v8编码+可视化文件沿袭
  • 处理审计:处理大型内容的完整记录+可视化生成
  • 语义搜索:任何大小的知识图之间的矢量相似性+可视化元数据搜索
  • 新-视觉谱系:完整的可视化跟踪,包括:

- SVG文件来源:使用时间戳跟踪所有生成的可视化文件 - 实体颜色一致性:维护所有块和存储系统的颜色映射 - 实时可视化历史记录:记录处理过程中的每次增量图形更新 - 跨数据库可视化同步:Neo4j和Qdrant中的同步可视化元数据 - 增量可视化审计:完整跟踪大型内容的实时更新

可视化增强存储

  • Neo4j实体观察 现在包括:

- SVG文件路径和生成状态 - 实体颜色分配以实现视觉一致性 - 分块处理的实时更新计数 - 可视化可用性和发动机信息

  • Qdrant矢量内容 现在包括:

- 用于相似性搜索的实体颜色映射信息 - SVG生成时间戳和文件路径 - 实时可视化更新元数据 - 用于大型内容可视化的增量文件跟踪

在配置了MCP服务器的Claude Code环境中运行时,MCP工具会自动可用。

🎯 hKG可视化架构

集成可视化谱系系统

hKG系统现在与传统知识图存储一起保持了完整的可视化谱系:

┌─────────────────┐    ┌──────────────────────┐    ┌─────────────────────┐
│   Source Text   │───▶│  Chunking + AI       │───▶│  Entity/Relation    │
│   (300MB+)      │    │  Processing          │    │  Extraction         │
└─────────────────┘    └──────────────────────┘    └─────────────────────┘
                                 │                           │
                                 ▼                           ▼
┌─────────────────┐    ┌──────────────────────┐    ┌─────────────────────┐
│ Real-Time SVG   │◀───│  Incremental Graph   │◀───│  Merged Results     │
│ Generation      │    │  Visualization       │    │  + Deduplication    │
└─────────────────┘    └──────────────────────┘    └─────────────────────┘
         │                        │                           │
         ▼                        ▼                           ▼
┌─────────────────┐    ┌──────────────────────┐    ┌─────────────────────┐
│ SVG File        │    │  Visualization       │    │  hKG Storage        │
│ Storage         │    │  Metadata Creation   │    │  (Neo4j + Qdrant)  │
│ (Incremental)   │    │                      │    │  + Viz Metadata     │
└─────────────────┘    └──────────────────────┘    └─────────────────────┘

可视化元数据流

  1. 实时更新:每个块生成带有进度跟踪的增量SVG
  2. 色彩一致性:在所有块和存储系统中保持实体颜色
  3. 文件血统:对所有生成的SVG文件进行完整的审计跟踪
  4. 跨数据库同步:可视化元数据在Neo4j和Qdrant中同步
  5. 来源追踪:源块、实体及其视觉表示之间的链接

大容量(300MB+)的hKG优势

  • 可视化进度监控:处理过程中的实时图形演变
  • 块级可视化:每个处理阶段的单独SVG文件
  • 完成审计跟踪:从源文本到最终可视化的完整沿袭
  • 交叉引用能力:将实体链接回其源块和视觉外观
  • 可扩展的可视化:以一致的性能处理任意大的图形

📊 发展

项目结构

KGB-mcp/
├── app.py                 # Main application
├── requirements.txt       # Dependencies
├── CLAUDE.md             # Claude Code instructions
├── ARCHITECTURE.md       # System architecture
├── test_core.py          # Core functionality tests
└── test_integration.py   # Integration tests

测试

# Run core tests
python test_core.py

# Run integration tests
python test_integration.py

利用本地AI和MCP集成的力量,将任何内容转换为结构化的知识图!

目录标签

目录标签

知识图谱PythonClaude本地部署AI处理实体提取关系抽取实时可视化

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP