MCP_Human_design
服务介绍
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
npm run build
HTTP Server ( Railway/n8n):
npm start
MCP Server ( stdio):
npm run start:mcp
Swiss Ephemeris
HTTP 3000 ( PORT env) .
1. calculate_human_design
Human Design.
:
birthDate(string, ): YYYY-MM-DDbirthTime(string, ): HH:MMbirthLocation(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.
:
component(string, ):type- Human Designauthority-profile-gates-channels-centers-
** :**
{
"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/
http-server.js # HTTP Server Railway/n8n
index-with-swiss.js # MCP Server stdio
package.json #
README.md #
QUICKSTART.md #
RAILWAY_DEPLOY.md # Railway
N8N_SETUP.md # n8n
src/
calculations-cjs.cjs # Human Design (Swiss Ephemeris)
npm run dev
.
MCP :
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node index.js
MIT
issue .
- Human Design ( , )
- Swiss Ephemeris
- Swiss Ephemeris
Swiss Ephemeris
Swiss Ephemeris build tools:
macOS:
xcode-select --install
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install build-essential python3
Windows:
Visual Studio Build Tools