Human Design MCP Server
MCP Server для расчета карты Human Design по дате, времени и месту рождения. Совместим с n8n и другими системами, поддерживающими Model Context Protocol.
Описание
Этот сервер предоставляет инструменты для расчета Human Design карты, включая:
Определение типа (Manifestor, Generator, Manifesting Generator, Projector, Reflector)
Вычисление стратегии и авторитета
Расчет профиля
Определение активных ворот (gates) и их линий
Определение определенных центров
Расчет Incarnation Cross
Установка
Требования
Node.js >= 18.0.0
npm или yarn
Установка зависимостей
cd human_design
npm install
Сборка
Использование
Запуск сервера
Сервер работает через stdio и готов принимать MCP запросы.
Инструменты сервера
1. calculate_human_design
Рассчитывает полную карту Human Design.
Параметры:
birthDate (string, обязательный): Дата рождения в формате YYYY-MM-DD
birthTime (string, обязательный): Время рождения в формате HH:MM
birthLocation (string, обязательный): Место рождения (город, страна)
latitude (number, опциональный): Широта места рождения
longitude (number, опциональный): Долгота места рождения
Пример запроса:
{
"name": "calculate_human_design",
"arguments": {
"birthDate": "1990-05-15",
"birthTime": "14:30",
"birthLocation": "Москва, Россия",
"latitude": 55.7558,
"longitude": 37.6173
}
}
Пример ответа:
{
"birthDate": "1990-05-15",
"birthTime": "14:30",
"birthLocation": "Москва, Россия",
"type": {
"name": "Generator",
"description": "Генератор"
},
"strategy": "Отвечать",
"authority": {
"name": "Sacral",
"description": "Сакральная авторитет"
},
"profile": {
"number": "3/5",
"description": "Профиль 3/5"
},
"gates": [
{
"number": 19,
"name": "Approach",
"line": 2,
"planet": "Sun"
},
{
"number": 49,
"name": "Revolution",
"line": 4,
"planet": "Earth"
}
],
"definedCenters": [
{
"number": 2,
"name": "Sacral Center"
}
],
"incarnationCross": {
"sunGate": 19,
"earthGate": 19,
"cross": "Cross of 19 / 19"
}
}
2. get_human_design_definition
Получить определения и значения компонентов Human Design.
Параметры:
Пример запроса:
{
"name": "get_human_design_definition",
"arguments": {
"component": "type"
}
}
Интеграция с n8n
Метод 1: Использование HTTP Request Node
Создайте веб-обертку для MCP сервера:
// wrapper-server.js
import express from 'express';
import { spawn } from 'child_process';
import readline from 'readline';
const app = express();
app.use(express.json());
app.post('/calculate', async (req, res) => {
const mcpServer = spawn('node', ['index.js']);
const rl = readline.createInterface({
input: mcpServer.stdout,
output: mcpServer.stdin,
});
// Отправка MCP запроса
const request = {
jsonrpc: '2.0',
id: 1,
method: 'tools/call',
params: {
name: 'calculate_human_design',
arguments: req.body,
},
};
mcpServer.stdin.write(JSON.stringify(request) + '\n');
// Чтение ответа
rl.once('line', (response) => {
const result = JSON.parse(response);
res.json(result.result);
});
});
app.listen(3000, () => {
console.log('MCP wrapper server running on port 3000');
});
Затем используйте в n8n HTTP Request Node:
Method: POST
URL: http://localhost:3000/calculate
Body: {"birthDate": "...", "birthTime": "...", "birthLocation": "..."}
Метод 2: Использование Function Node в n8n
В n8n используйте Function Node с прямым вызовом модуля:
const { calculateHumanDesign } = require('/path/to/human_design/src/calculations.js');
// Получить данные из предыдущего узла
const birthDate = $input.item.json.birthDate;
const birthTime = $input.item.json.birthTime;
const birthLocation = $input.item.json.birthLocation;
// Рассчитать Human Design
const result = await calculateHumanDesign({
birthDate,
birthTime,
birthLocation,
});
return {
json: {
...result,
timestamp: new Date().toISOString(),
}
};
Метод 3: Использование Sub-workflow
Создайте отдельный workflow в n8n:
Webhook Trigger для входящих запросов
Function Node с расчетом Human Design
HTTP Response Node для отправки результата
workflow-json:
{
"name": "Human Design Calculator",
"nodes": [
{
"parameters": {},
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [250, 300]
},
{
"parameters": {
"jsCode": "const { calculateHumanDesign } = require('/path/to/human_design/src/calculations.js');\n\nconst result = await calculateHumanDesign({\n birthDate: $input.item.json.birthDate,\n birthTime: $input.item.json.birthTime,\n birthLocation: $input.item.json.birthLocation,\n});\n\nreturn { json: result };"
},
"name": "Calculate HD",
"type": "n8n-nodes-base.function",
"position": [450, 300]
},
{
"parameters": {},
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"position": [650, 300]
}
],
"connections": {
"Webhook": { "main": [[{ "node": "Calculate HD", "type": "main", "index": 0 }]] },
"Calculate HD": { "main": [[{ "node": "Respond to Webhook", "type": "main", "index": 0 }]] }
}
}
Интеграция с другими системами
Claude Desktop
Добавьте сервер в конфигурацию Claude Desktop:
{
"mcpServers": {
"human-design": {
"command": "node",
"args": ["/absolute/path/to/human_design/index.js"]
}
}
}
Custom MCP Client
Пример использования в Node.js:
import { spawn } from 'child_process';
import readline from 'readline';
const mcpServer = spawn('node', ['index.js']);
const rl = readline.createInterface({
input: mcpServer.stdout,
output: mcpServer.stdin,
});
async function calculateHumanDesign(birthDate, birthTime, birthLocation) {
const request = {
jsonrpc: '2.0',
id: 1,
method: 'tools/call',
params: {
name: 'calculate_human_design',
arguments: {
birthDate,
birthTime,
birthLocation,
},
},
};
mcpServer.stdin.write(JSON.stringify(request) + '\n');
return new Promise((resolve, reject) => {
rl.once('line', (response) => {
const result = JSON.parse(response);
if (result.error) {
reject(new Error(result.error.message));
} else {
resolve(result.result);
}
});
});
}
// Использование
const result = await calculateHumanDesign('1990-05-15', '14:30', 'Москва, Россия');
console.log(result);
Структура проекта
human_design/
├── index.js # MCP Server точка входа
├── package.json # Зависимости проекта
├── README.md # Документация
└── src/
└── calculations.js # Модуль расчетов Human Design
Разработка
Запуск в режиме разработки
Сервер будет перезагружаться автоматически при изменении файлов.
Тестирование
Для тестирования отправьте MCP запрос:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node index.js
Лицензия
MIT
Поддержка
Для вопросов и предложений создайте issue в репозитории проекта.
Примечания
Human Design использует тропический зодиак (не сидерический, как в ведической астрологии)
Расчеты основаны на Swiss Ephemeris для точности позиций планет
Некоторые компоненты упрощены для демонстрации - полная реализация требует дополнительных данных