Tianji Thinking Models

by lanyijianke

30 228 downloads Not rated yet
GitHub

About

# "Tianji" — Thinking Models MCP Server ![alt text](image/tianji.png) [![TypeScript](https://img.shields.io/badge/TypeScript-4.9+-blue.svg)](https://www.typescriptlang.org/) [![Node.js](https://img.shields.io/badge/Node.js-18.0+-green.svg)](https://nodejs.org/) [![MCP…

Explore

- Rich Library of Thinking Models: Contains classic thinking models across multiple domains including decision theory, systems thinking, and probabilistic thinking
- Intelligent Model Recommendations: Automatically recommends the most suitable thinking models based on problem characteristics
- Interactive Reasoning Process: Guides users through structured thinking, analyzing problems step by step
- Learning and Adaptation System: Continuously improves recommendation algorithms through user feedback
- Model Creation and Combination: Allows creation of new models or combination of existing models to generate innovative thinking frameworks

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tianji Thinking Models
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Get usage statistics for thinking models.

Parameters:
- modelId (required): Unique ID of the thinking model
- lang (required, default "zh"): Language code, options: ["zh", "en"]

Return Value:

{
"model_id": "model ID",
"model_name": "model name",
"usage_count": usage count,
"average_rating": average rating,
"feedback_distribution": {
"helpful": number of helpful feedback,
"not_helpful": number of unhelpful feedback,
"incorrect": number of incorrect feedback,
"insightful": number of insightful feedback,
"confusing": number of confusing feedback
},
"common_usage_contexts": ["common usage context 1", "common usage context 2"],
"trend": "usage trend description",
"related_models_also_used": [
{
"id": "related model ID",
"name": "related model name",
"co_occurrence_count": co-occurrence count
}
// ... more related models
]
}

If you want to run and develop this project locally:

git clone https://github.com/yourusername/thinking-models-mcp.git # Replace with your repository address
cd thinking_models_mcp
npm install
npm run build

You can integrate the thinking models MCP server into any client that supports the MCP protocol. Here are two different implementation methods:

This method requires you to install and configure the "Tianji" server code locally and is suitable for scenarios where you need to customize development or modify server code.

{
  "mcpServers": {
    "tianji": { // "Tianji" server name
      "command": "node",
      "args": [
        "e:\\thinking_models_mcp\\build\\thinking_models_server.js" // Replace with your actual path
      ]
    }
  }
  // ... other configurations ...
}

After the "Tianji" server starts, you can send requests to access thinking model tools through the MCP client. For example:

1. What is the current version number of "Tianji"?
2. How many thinking models does "Tianji" currently have available for me to use?
3. I want to check what types of thinking models are in "Tianji", tell me how many categories there are in total?
4. I encountered XXXX event, but I don't know what to do, please have "Tianji" recommend some thinking models that can help me solve the problem.

If configured correctly, the client should be able to call the server and return results.

- Node.js >= 18.0.0
- npm >= 8.0.0 (or compatible package managers like yarn, pnpm)
- TypeScript 5.x

```bash

list-models

获取指定语言的思维模型列表,支持按分类过滤

search-models

在指定语言的思维模型中根据关键词进行文本搜索

recommend-models-for-problem

基于问题关键词推荐适合解决特定问题的思维模型

get-model-info

获取思维模型的详细信息或特定字段

get-categories

获取所有思维模型的分类信息

get-related-models

获取与特定思维模型相关的模型推荐

explain-reasoning-process

解释模型的推理过程和应用的思维模式

interactive-reasoning

交互式推理过程,允许动态获取额外信息

generate-validate-hypotheses

为问题生成多个假设并提供验证方法

count-models

统计当前思维模型的总数

record-user-feedback

记录用户对思维模型使用体验的反馈

detect-knowledge-gap

检测用户查询中的知识缺口

get-model-usage-stats

获取思维模型的使用统计数据

analyze-learning-system

分析思维模型学习系统的总体状况

get-server-version

获取思维模型MCP服务器的版本和状态信息

create-thinking-model

创建新的思维模型并添加到系统中,用于填补知识缺口

update-thinking-model

更新现有思维模型的内容

emergent-model-design

通过组合现有思维模型的关键概念和特性来创建新的思维模型

get-started-guide

新手入门指南,帮助用户了解思维模型工具体系和建议使用流程

- list-models: List all thinking models or filter by category
- search-models: Search thinking models by keywords
- get-categories: Get all thinking model categories
- get-model-info: Get detailed information about a thinking model
- get-related-models: Get other models related to a specific model

- recommend-models-for-problem: Recommend suitable thinking models based on problem keywords
- interactive-reasoning: Interactive reasoning process guidance
- generate-validate-hypotheses: Generate multiple hypotheses for a problem and provide validation methods
- explain-reasoning-process: Explain the reasoning process of a model and the thinking patterns applied

- create-thinking-model: Create a new thinking model
- update-thinking-model: Update any field of an existing thinking model, including basic information and visualization data, without recreating the entire model
- emergent-model-design: Create new thinking models by combining existing ones
- delete-thinking-model: Delete unwanted thinking models

- get-started-guide: Beginner's guide
- get-server-version: Get server version information
- count-models: Count the total number of current thinking models
- record-user-feedback: Record user feedback on thinking model experiences
- detect-knowledge-gap: Detect knowledge gaps in user queries
- get-model-usage-stats: Get usage statistics for thinking models
- analyze-learning-system: Analyze the status of the thinking model learning system

Below are the detailed parameters and return values for all tool functions:

npm run start:dev # (assuming you've configured this script in package.json)


Each tool is registered using the server.tool() method, containing:
1. Tool Name (string): The name used by clients when calling.
2. Tool Description (string): A brief description of the tool's functionality.
3. Parameter Schema (Zod object): Uses the zod library to define the parameters accepted by the tool and their types, descriptions, and constraints.
4. Handler Function (async function): Receives validated parameter objects, executes tool logic, and returns responses that comply with the MCP protocol.

typescript
// filepath: src/thinking_models_server.ts
// ... imports ...

server.tool(
"get-model-count-by-category", // Tool name
"Get the number of thinking models in a specified category", // Tool description
{ // Parameter schema (Zod schema)
category: z.string().describe("Main category of thinking models to query"),
lang: z.enum(["zh", "en"] as const).default("zh").describe("Language code ('zh' or 'en')")
},
async ({ category, lang }) => { // Handler function
try {
const modelsInBuffer = MODELS[lang] || []; // MODELS is a cache of loaded models
const count = modelsInBuffer.filter(m => m.category === category).length;
log(`Tool 'get-model-count-by-category' called: categ

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "tianji thinking models": {
            "thinking-models": {
                "command": "npx",
                "args": [
                    "--yes",
                    "--no-cache",
                    "@thinking-models/mcp-server@latest"
                ]
            }
        }
    }
}

McpServers

{
    "thinking-models": {
        "command": "npx",
        "args": [
            "--yes",
            "--no-cache",
            "@thinking-models/mcp-server@latest"
        ]
    }
}
alt text

TypeScript
Node.js
MCP Protocol
License
Version
Zod

> Toolbox for intelligent thinking: Integrating systematic thinking methods into your problem-solving process

Table of Contents

- What is "Tianji"?
- Core Features
- Tools Overview
- Exploration Tools
- Problem-Solving Tools
- Creation Tools
- System and Learning Tools
- Tool Function Parameters and Return Values
- Exploration Tools
- Problem-Solving Tools
- Creation Tools
- System and Learning Tools
- Use Cases
- Quick Start
- Configuration Guide
- Developer Documentation
- Development Environment Setup
- Code Architecture
- API Documentation
- Extension Guidelines
- Testing
- Build and Deployment
- Coding Standards
- Common Development Issues and Troubleshooting
- License

What is "Tianji"?

"Tianji" is a powerful thinking model MCP server that integrates hundreds of thinking models, frameworks, and methodologies to help users think more systematically and comprehensively about problems. Through the MCP (Model Context Protocol) interface, AI assistants can access these thinking tools and seamlessly apply structured thinking methods to conversations. The name "Tianji" originates from the ancient Chinese saying "Heaven's secrets must not be revealed," implying that it helps users uncover deeper patterns of thinking and wisdom.

Core Features

- Rich Library of Thinking Models: Contains classic thinking models across multiple domains including decision theory, systems thinking, and probabilistic thinking
- Intelligent Model Recommendations: Automatically recommends the most suitable thinking models based on problem characteristics
- Interactive Reasoning Process: Guides users through structured thinking, analyzing problems step by step
- Learning and Adaptation System: Continuously improves recommendation algorithms through user feedback
- Model Creation and Combination: Allows creation of new models or combination of existing models to generate innovative thinking frameworks

Tools Overview

Exploration Tools

- list-models: List all thinking models or filter by category
- search-models: Search thinking models by keywords
- get-categories: Get all thinking model categories
- get-model-info: Get detailed information about a thinking model
- get-related-models: Get other models related to a specific model

Problem-Solving Tools

- recommend-models-for-problem: Recommend suitable thinking models based on problem keywords
- interactive-reasoning: Interactive reasoning process guidance
- generate-validate-hypotheses: Generate multiple hypotheses for a problem and provide validation methods
- explain-reasoning-process: Explain the reasoning process of a model and the thinking patterns applied

Creation Tools

- create-thinking-model: Create a new thinking model
- update-thinking-model: Update any field of an existing thinking model, including basic information and visualization data, without recreating the entire model
- emergent-model-design: Create new thinking models by combining existing ones
- delete-thinking-model: Delete unwanted thinking models

System and Learning Tools

- get-started-guide: Beginner's guide
- get-server-version: Get server version information
- count-models: Count the total number of current thinking models
- record-user-feedback: Record user feedback on thinking model experiences
- detect-knowledge-gap: Detect knowledge gaps in user queries
- get-model-usage-stats: Get usage statistics for thinking models
- analyze-learning-system: Analyze the status of the thinking model learning system

Tool Function Parameters and Return Values

Below are the detailed parameters and return values for all tool functions:

Exploration Tools

list-models

Lists all thinking models or filters by category.

Parameters:
- lang (required, default "zh"): Language code, options: ["zh", "en"]
- category (optional): Main category name
- subcategory (optional): Subcategory name (requires main category to be provided)
- limit (optional, default 100): Limit on the number of results returned

Return Value:

{
"models": [
{
"id": "modelID",
"name": "model name",
"definition": "model definition",
"category": "model category"
}
// ... more models
],
"total": total number of models queried,
"filter": "applied filter conditions"
}

search-models

Search thinking models by keywords.

Parameters:
- query (required): Search keywords
- lang (required, default "zh"): Language code, options: ["zh", "en"]
- limit (optional, default 10): Limit on the number of results returned

Return Value:

{
"results": [
{
"id": "modelID",
"name": "model name",
"definition": "model definition",
"purpose": "model purpose",
"match_score": match score,
"match_reasons": ["match reason 1", "match reason 2"]
}
// ... more matching results
],
"total": total number of matching models,
"query": "search keywords"
}

get-categories

Get all thinking model categories.

Parameters:
- lang (required, default "zh"): Language code, options: ["zh", "en"]

Return Value:

{
"categories": [
{
"name": "category name",
"count": number of models in this category,
"subcategories": [
{
"name": "subcategory name",
"count": number of models in this subcategory
}
// ... more subcategories
]
}
// ... more categories
],
"total_categories": total number of categories,
"total_models": total number of all models
}

get-model-info

Get detailed information about a thinking model.

Parameters:
- model_id (required): Unique ID of the thinking model
- fields (optional, default ["basic"]): Fields to return, options: ["all", "basic", "detail", "teaching", "warnings", "visualizations"]
- lang (required, default "zh"): Language code, options: ["zh", "en"]

…

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.