mcpField
E
EntityIdentification

EntityIdentification

Local
github.com/u3588064Data & Analytics1Updated 78w ago

About EntityIdentification

EntityIdentification is an MCP server for checking whether two JSON data sets describe the same entity. It combines normalized text, direct and semantic value comparisons, and a language model's judgment.

Key features

  1. 01Normalize text case, punctuation, and whitespace
  2. 02Compare values directly and semantically
  3. 03Compare JSON objects by corresponding keys
  4. 04Use a language model for a final judgment

Use cases

  1. 01Check whether two customer records match
  2. 02Compare JSON data with reordered list values
  3. 03Resolve records with wording differences

MCP support

It exposes entity-identification and JSON comparison functionality to MCP clients, using a language model to assess semantic similarity.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

EntityIdentification

Identify whether two sets of data are from the same entity. 识别两组数据是否来自同一主体

This is a MCP (Model Context Protocol) server. 这是一个支持MCP协议的服务器。

Data Comparison Tool

This tool provides a comprehensive way to compare two sets of data, evaluating both exact and semantic equality of their values. It leverages text normalization and a language model to determine if the data originates from the same entity.

Features

  • Text Normalization: Converts text to lowercase, removes punctuation, and normalizes whitespace.
  • Value Comparison: Compares values directly and semantically (ignoring order for lists).
  • JSON Traversal: Iterates through each key in the JSON objects and compares corresponding values.
  • Language Model Integration: Uses a generative language model to assess semantic similarity and provide a final judgment on whether the data comes from the same entity.

Installation

To use this tool, ensure you have the necessary dependencies installed. You can install them using pip:

pip install genai

Usage

Functions
  1. normalize_text(text):

    • Normalizes the input text by converting it to lowercase, removing punctuation, and normalizing whitespace.
  2. compare_values(val1, val2):

    • Compares two values both exactly and semantically.
    • If the values are lists, it ignores the order of elements for semantic comparison.
  3. compare_json(json1, json2):

    • Compares two JSON objects key by key.
    • Uses compare_values to evaluate each key's values.
    • Integrates a language model to assess semantic similarity and provides a final judgment.
Example
import json
import genai
import re

# Define your JSON objects
json1 = {
    "name": "John Doe",
    "address": "123 Main St, Anytown, USA",
    "hobbies": ["reading", "hiking", "coding"]
}

json2 = {
    "name": "john doe",
    "address": "123 Main Street, Anytown, USA",
    "hobbies": ["coding", "hiking", "reading"]
}

# Compare the JSON objects
comparison_results = compare_json(json1, json2)

# Generate final matching result
model1 = genai.GenerativeModel("gemini-2.0-flash-thinking-exp")
result_matching = model1.generate_content("综合这些信息,你认为可以判断两个数据来自同一主体吗?"+json.dumps(comparison_results, ensure_ascii=False, indent=4))
print(result_matching.text)

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

If you have any questions or suggestions, please contact me:

Wechat qrcode_for_gh_643efb7db5bc_344(1)

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.