Skip to main content
Glama
pythagraph

Pythagraph RED MCP Server

by pythagraph

pythAIs - Pythagraph RED MCP Server

Node.js server implementing Model Context Protocol (MCP) for Pythagraph RED API access.

Features

  • Fetch graph data from Pythagraph RED API

  • Detailed graph analysis with nodes, edges, and statistics

  • Formatted table outputs for easy visualization

  • Comprehensive graph summaries

  • Error handling and timeout management

Related MCP server: Knowledge Graph MCP Server

API Integration

This server connects to the Pythagraph RED API at:

https://red.pythagraph.co.kr/api/red/graph/exportGraphInfo.do?graphId={graphId}

Tools

get_graph_data

Retrieve detailed graph data from Pythagraph RED API. Returns comprehensive information including nodes, edges, statistics, and metadata formatted as tables and descriptions.

Input:

  • graphId (string): The unique identifier for the graph to retrieve

Output:

  • Detailed tables showing graph statistics

  • Node type distributions

  • Edge type distributions

  • First 10 nodes with their properties

  • First 10 edges with their relationships

  • Metadata information

Example:

# MBTI(성질좋은 역순서,점유비율)

## 📊 기본 정보
| 항목 | 값 |
|------|-----|
| Graph ID | G81a6c348-4696-4f04-a164-6e306388ab92 |
| 단위 구분 | 비율 |
| 단위명 | 퍼센트(%) |
| 데이터 건수 | 16건 |

## 📈 데이터 테이블
| 시간 | MBTI유형 | 값 |
|------|----------|-----|
| 15 | ENFP | 12.6% |
| 08 | INFP | 13.4% |
| 04 | INFJ | 6.3% |

get_graph_summary

Get a concise summary of graph data from Pythagraph RED API. Provides overview statistics, node/edge type distributions, and key insights.

Input:

  • graphId (string): The unique identifier for the graph to get summary

  • includeDetails (boolean, optional): Include detailed node and edge information (default: false)

Output:

  • Quick overview with node and edge counts

  • Node and edge type listings

  • Graph density calculation

  • Optional detailed tables when includeDetails is true

Example:

# MBTI(성질좋은 역순서,점유비율) - 요약

📊 Graph ID: G81a6c348-4696-4f04-a164-6e306388ab92
📊 데이터 건수: 16건
📊 단위: 비율 (퍼센트(%))
📅 등록일: 2023-05-22 15:01

## 🔍 핵심 인사이트
🏆 최고: INFP (13.4%)
📉 최저: ENTJ (2.7%)
📊 총합: 100.0%

Usage with Claude Desktop

Add this to your claude_desktop_config.json:

NPX

{
  "mcpServers": {
    "pythAIs": {
      "command": "npx",
      "args": [
        "-y",
        "pythais-mcp-server"
      ]
    }
  }
}

Docker

{
  "mcpServers": {
    "pythAIs": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/pythais"
      ]
    }
  }
}

Development

Building

npm install
npm run build

Testing

npm test

Docker Build

docker build -t mcp/pythais.

API Response Format

The server expects the Pythagraph RED API to return JSON data in this format:

{
  "graphId": "G81a6c348-4696-4f04-a164-6e306388ab92",
  "graphNm": "MBTI(성질좋은 역순서,점유비율)",
  "graphDet": "<p>MBTI 성격별 인구비율 및 성격더러운 순서</p>",
  "unitDivNm": "비율",
  "unitNm": "퍼센트(%)",
  "link": "https://ddnews.co.kr/mbti-순위/",
  "dataSrc": "https://ddnews.co.kr/mbti-순위/",
  "dataOrg": "https://ddnews.co.kr/mbti-순위/",
  "regUser": "kimhoon1112@gmail.com",
  "regTime": "2023-05-22 15:01",
  "cols": ["시간", "MBTI유형", "값"],
  "cols2": ["T5", "M1", "VALUE"],
  "graphData": [
    ["15", "ENFP", "0.126"],
    ["08", "INFP", "0.134"],
    ["04", "INFJ", "0.063"]
  ],
  "regionList": [],
  "message": "OK"
}

Error Handling

The server includes comprehensive error handling for:

  • Invalid graph IDs

  • Network timeouts (30 second limit)

  • API response errors

  • Invalid JSON responses

  • Connection failures

Features

  • Automatic Table Formatting: Converts graph data into readable tables

  • Statistics Calculation: Computes graph density and type distributions

  • Memory Efficient: Only displays first 10 nodes/edges in detailed view

  • Flexible Output: Summary mode for quick insights, detailed mode for analysis

  • Robust Error Handling: Graceful handling of API failures

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.

Available Tools

2 tools
get_graph_dataB

Retrieve detailed graph data from Pythagraph RED API. Returns comprehensive information including nodes, edges, statistics, and metadata formatted as tables and descriptions. Perfect for analyzing graph structure and getting detailed insights.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphIdYesThe unique identifier for the graph to retrieve

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return format ('formatted as tables and descriptions') and purpose ('analyzing graph structure'), but lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, or error handling. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with two sentences that efficiently convey the tool's purpose and usage. The first sentence covers retrieval and return format, while the second provides context. There's minimal waste, though the phrase 'Perfect for' could be slightly more formal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (retrieving detailed graph data with 1 parameter), no annotations, and no output schema, the description is moderately complete. It covers the purpose and return format but lacks details on behavioral traits and output structure. For a tool with no structured output information, more elaboration on what 'comprehensive information' includes would be beneficial, making it adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'graphId' documented as 'The unique identifier for the graph to retrieve'. The description adds no additional parameter information beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to given the schema's completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Retrieve') and resource ('detailed graph data from Pythagraph RED API'), and distinguishes it from the sibling tool 'get_graph_summary' by emphasizing 'detailed' and 'comprehensive information'. However, it doesn't explicitly contrast with the sibling tool's functionality beyond implying more detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating it's 'Perfect for analyzing graph structure and getting detailed insights', which suggests when to use this tool. However, it doesn't provide explicit guidance on when to choose this over 'get_graph_summary' or any exclusions, leaving the distinction somewhat vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_graph_summaryA

Get a concise summary of graph data from Pythagraph RED API. Provides overview statistics, node/edge type distributions, and key insights without overwhelming detail. Use includeDetails=true for more comprehensive analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphIdYesThe unique identifier for the graph to get summary
includeDetailsNoInclude detailed node and edge information

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool provides a 'concise summary' and mentions an optional parameter for more details, but it lacks information on behavioral traits such as permissions required, rate limits, error handling, or response format. The description doesn't contradict annotations, but it's insufficient for a mutation tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with two sentences that efficiently convey the tool's purpose and usage. Every sentence earns its place by providing essential information without redundancy or waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (read operation with 2 parameters, no output schema), the description is somewhat complete but has gaps. It explains the purpose and basic usage, but without annotations or output schema, it lacks details on behavioral aspects like response format, error cases, or integration with the sibling tool. This is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('graphId' and 'includeDetails'). The description adds some value by explaining that 'includeDetails=true' enables 'more comprehensive analysis', but it doesn't provide additional syntax, format details, or examples beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('graph data from Pythagraph RED API'), and it distinguishes the tool by specifying it provides a 'concise summary' with 'overview statistics, node/edge type distributions, and key insights without overwhelming detail'. However, it doesn't explicitly differentiate from the sibling tool 'get_graph_data', which likely provides more detailed data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: for a 'concise summary' with 'overview statistics' and 'key insights without overwhelming detail'. It also mentions an alternative usage mode ('Use includeDetails=true for more comprehensive analysis'), but it doesn't explicitly state when to use this tool versus the sibling 'get_graph_data' or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedget_graph_data
    • First observedget_graph_summary

TDQS

B3.4/5.0
Disambiguation4/5

The two tools have distinct purposes: get_graph_data provides detailed, comprehensive graph data, while get_graph_summary offers a concise overview. However, the inclusion of an includeDetails parameter in get_graph_summary could cause some overlap or confusion, as it blurs the line between summary and detailed data retrieval.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (get_graph_data and get_graph_summary), using snake_case and the same verb 'get'. This makes them predictable and easy to understand, with no deviations in naming style.

Tool Count2/5

With only 2 tools, the server feels thin for a graph analysis domain, as it lacks essential operations like creating, updating, or deleting graph data. This limited scope may hinder agents from performing full workflows, making it inappropriate for comprehensive graph management.

Completeness2/5

The server is severely incomplete for graph analysis, covering only retrieval operations (detailed and summary). There are significant gaps, such as no tools for creating, modifying, or deleting graphs, which are core to graph lifecycle management and will likely cause agent failures in broader tasks.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables retrieval and analysis of graph data from the Pythagraph RED API. Provides detailed graph statistics, node/edge distributions, and formatted table outputs for data visualization and analysis.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to interact with Gremlin-compatible graph databases through natural language, supporting schema discovery, complex graph queries, relationship analysis, and data import/export operations.
    18
    9
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides tools for AI-powered graph analysis, including relationship extraction, adjacency matrix creation, and network centrality calculations. It enables users to perform complex structural analysis and generate interactive D3.js visualizations from structured data.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pythagraph/pythagraph-red-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server