@guanxing1/mcp-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 GuanXing
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,221 @@
1
+ # @guanxing/mcp-server
2
+
3
+ **MCP server for [观星 (GuanXing)](https://heartai.zeabur.app)** — AI-powered Chinese metaphysics tools for LLM assistants.
4
+
5
+ Give your AI assistant access to BaZi (八字), Tarot, I-Ching divination (求签), Feng Shui, dream interpretation, Chinese almanac, and more — all through the [Model Context Protocol](https://modelcontextprotocol.io).
6
+
7
+ ---
8
+
9
+ ## What is 观星 (GuanXing)?
10
+
11
+ GuanXing is an AI-powered Chinese metaphysics platform that combines thousands of years of Eastern wisdom with modern AI. It provides accurate, personalized readings across multiple metaphysics disciplines — from Four Pillars destiny analysis to tarot card readings.
12
+
13
+ This MCP server connects your AI assistant (Claude, GPT, etc.) directly to GuanXing's API, so you can ask questions like:
14
+
15
+ - *"What does my BaZi chart say about my career?"*
16
+ - *"Draw me a tarot spread for my relationship question"*
17
+ - *"Is today auspicious for signing a contract?"*
18
+ - *"Analyze the feng shui of my home office facing south"*
19
+
20
+ ---
21
+
22
+ ## Available Tools
23
+
24
+ | Tool | Description |
25
+ |------|-------------|
26
+ | **`bazi_analysis`** | Analyze Chinese Four Pillars (八字) based on birth date and time. Returns heavenly stems, earthly branches, five elements, and day master analysis. |
27
+ | **`daily_fortune`** | Personalized daily fortune by zodiac sign. Scores for career, love, wealth, health, plus lucky color and number. |
28
+ | **`qiuqian`** | Draw a divine lot (求签) — traditional temple fortune stick divination with poem and interpretation. Choose Guanyin or Guandi style. |
29
+ | **`almanac`** | Chinese almanac (黄历) lookup. Lunar date, auspicious/inauspicious activities, hourly fortune, and daily summary. |
30
+ | **`dream_interpret`** | Dream interpretation combining Zhou Gong (周公解梦) tradition with modern psychology. Symbols, meaning, and advice. |
31
+ | **`tarot`** | Tarot card reading with single-card, three-card, or Celtic cross spreads. Full card meanings and comprehensive interpretation. |
32
+ | **`name_score`** | Chinese name scoring using Five Grid numerology (五格剖象法). Total score, grid breakdown, and five elements analysis. |
33
+ | **`fengshui`** | Feng shui assessment for home, office, or shop. Score, suggestions, lucky items, and things to avoid. |
34
+ | **`compatibility`** | Compatibility analysis between two people based on birth info, zodiac, or names. Multi-dimensional scoring. |
35
+ | **`zodiac`** | In-depth zodiac sign analysis — personality traits, element, ruling planet, and sign compatibility. |
36
+ | **`community_browse`** | Browse the latest community posts on GuanXing. |
37
+ | **`community_post`** | Create a new post in the GuanXing community. |
38
+
39
+ ---
40
+
41
+ ## Quick Start
42
+
43
+ ### 1. Get an API Key
44
+
45
+ Register at **[heartai.zeabur.app](https://heartai.zeabur.app)** and create an API key in your developer settings.
46
+
47
+ ### 2. Configure Your MCP Client
48
+
49
+ Add the server to your MCP client configuration:
50
+
51
+ #### Claude Desktop
52
+
53
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
54
+
55
+ ```json
56
+ {
57
+ "mcpServers": {
58
+ "guanxing": {
59
+ "command": "npx",
60
+ "args": ["-y", "@guanxing/mcp-server"],
61
+ "env": {
62
+ "GUANXING_API_KEY": "your-api-key-here"
63
+ }
64
+ }
65
+ }
66
+ }
67
+ ```
68
+
69
+ #### Claude Code (CLI)
70
+
71
+ Edit `~/.claude/settings.json` or `.mcp.json` in your project:
72
+
73
+ ```json
74
+ {
75
+ "mcpServers": {
76
+ "guanxing": {
77
+ "command": "npx",
78
+ "args": ["-y", "@guanxing/mcp-server"],
79
+ "env": {
80
+ "GUANXING_API_KEY": "your-api-key-here"
81
+ }
82
+ }
83
+ }
84
+ }
85
+ ```
86
+
87
+ #### Cursor
88
+
89
+ Open **Settings > MCP** and add:
90
+
91
+ ```json
92
+ {
93
+ "guanxing": {
94
+ "command": "npx",
95
+ "args": ["-y", "@guanxing/mcp-server"],
96
+ "env": {
97
+ "GUANXING_API_KEY": "your-api-key-here"
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ #### Cline (VS Code)
104
+
105
+ Edit your Cline MCP settings:
106
+
107
+ ```json
108
+ {
109
+ "mcpServers": {
110
+ "guanxing": {
111
+ "command": "npx",
112
+ "args": ["-y", "@guanxing/mcp-server"],
113
+ "env": {
114
+ "GUANXING_API_KEY": "your-api-key-here"
115
+ }
116
+ }
117
+ }
118
+ }
119
+ ```
120
+
121
+ #### Windsurf
122
+
123
+ Edit `~/.codeium/windsurf/mcp_config.json`:
124
+
125
+ ```json
126
+ {
127
+ "mcpServers": {
128
+ "guanxing": {
129
+ "command": "npx",
130
+ "args": ["-y", "@guanxing/mcp-server"],
131
+ "env": {
132
+ "GUANXING_API_KEY": "your-api-key-here"
133
+ }
134
+ }
135
+ }
136
+ }
137
+ ```
138
+
139
+ ### 3. Start Using It
140
+
141
+ Once configured, just ask your AI assistant naturally:
142
+
143
+ > *"Analyze my BaZi chart — I was born on March 15, 1990 at 2pm"*
144
+
145
+ > *"What does the Chinese almanac say about today?"*
146
+
147
+ > *"Do a three-card tarot reading about my career change"*
148
+
149
+ ---
150
+
151
+ ## Example Responses
152
+
153
+ ### BaZi Analysis
154
+
155
+ ```
156
+ User: Analyze my birth chart — born 1990-05-15 at 14:00
157
+
158
+ → Tool: bazi_analysis({ birthDate: "1990-05-15", birthHour: 14 })
159
+ → Returns: Four Pillars chart with heavenly stems/earthly branches,
160
+ five elements breakdown (金2 木1 水1 火1 土3), day master analysis,
161
+ and personalized life reading
162
+ ```
163
+
164
+ ### Tarot Reading
165
+
166
+ ```
167
+ User: Draw a three-card spread about my relationship
168
+
169
+ → Tool: tarot({ question: "relationship outlook", spread: "three" })
170
+ → Returns: Three cards with names, positions (upright/reversed),
171
+ individual meanings, and a comprehensive interpretation
172
+ ```
173
+
174
+ ### Chinese Almanac
175
+
176
+ ```
177
+ User: Is today a good day to sign a contract?
178
+
179
+ → Tool: almanac({ date: "2026-03-17" })
180
+ → Returns: Lunar date, auspicious activities (宜), inauspicious activities (忌),
181
+ hourly fortune breakdown, and daily summary
182
+ ```
183
+
184
+ ---
185
+
186
+ ## Environment Variables
187
+
188
+ | Variable | Required | Description |
189
+ |----------|----------|-------------|
190
+ | `GUANXING_API_KEY` | Yes | Your GuanXing API key. Get one at [heartai.zeabur.app](https://heartai.zeabur.app) |
191
+
192
+ ---
193
+
194
+ ## Development
195
+
196
+ ```bash
197
+ # Clone
198
+ git clone https://github.com/doggychip/guanxing-mcp.git
199
+ cd guanxing-mcp
200
+
201
+ # Install & build
202
+ npm install
203
+ npm run build
204
+
205
+ # Run locally
206
+ GUANXING_API_KEY=your-key node dist/index.js
207
+ ```
208
+
209
+ ---
210
+
211
+ ## How It Works
212
+
213
+ This package implements the [Model Context Protocol (MCP)](https://modelcontextprotocol.io) standard using **stdio transport** — the standard for MCP CLI tools. When an MCP client (like Claude Desktop) starts this server, it communicates over stdin/stdout to discover and invoke tools.
214
+
215
+ Each tool call is forwarded to the GuanXing API at `https://heartai.zeabur.app/api/v1/...` with your API key for authentication. The AI-generated metaphysics readings are returned directly to your assistant for natural conversation.
216
+
217
+ ---
218
+
219
+ ## License
220
+
221
+ MIT
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,186 @@
1
+ #!/usr/bin/env node
2
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { z } from "zod";
5
+ const API_BASE = "https://heartai.zeabur.app";
6
+ const API_KEY = process.env.GUANXING_API_KEY;
7
+ if (!API_KEY) {
8
+ console.error("Error: GUANXING_API_KEY environment variable is required.\n" +
9
+ "Get your API key at https://heartai.zeabur.app");
10
+ process.exit(1);
11
+ }
12
+ // ── HTTP helpers ──────────────────────────────────────────────────────────────
13
+ async function callApi(path, body) {
14
+ const res = await fetch(`${API_BASE}${path}`, {
15
+ method: "POST",
16
+ headers: {
17
+ "Content-Type": "application/json",
18
+ Authorization: `Bearer ${API_KEY}`,
19
+ },
20
+ body: JSON.stringify(body),
21
+ });
22
+ const data = await res.json();
23
+ if (!res.ok)
24
+ throw new Error(data.error || `API error ${res.status}`);
25
+ return data;
26
+ }
27
+ async function callWebhook(body) {
28
+ const res = await fetch(`${API_BASE}/api/webhook/agent`, {
29
+ method: "POST",
30
+ headers: {
31
+ "Content-Type": "application/json",
32
+ "X-API-Key": API_KEY,
33
+ },
34
+ body: JSON.stringify(body),
35
+ });
36
+ const data = await res.json();
37
+ if (!res.ok)
38
+ throw new Error(data.error || `Webhook error ${res.status}`);
39
+ return data;
40
+ }
41
+ function text(data) {
42
+ return {
43
+ content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
44
+ };
45
+ }
46
+ // ── MCP Server ────────────────────────────────────────────────────────────────
47
+ const server = new McpServer({ name: "guanxing", version: "1.0.0" }, { capabilities: { tools: {} } });
48
+ // 1. bazi_analysis — 八字命理分析
49
+ server.tool("bazi_analysis", "Analyze Chinese Four Pillars (BaZi / 八字) based on birth date and time. Returns heavenly stems, earthly branches, five elements breakdown, day master, and detailed analysis.", {
50
+ birthDate: z.string().describe("Birth date in YYYY-MM-DD format"),
51
+ birthHour: z
52
+ .number()
53
+ .min(0)
54
+ .max(23)
55
+ .optional()
56
+ .describe("Birth hour (0-23)"),
57
+ name: z.string().optional().describe("Person's name (optional)"),
58
+ }, async ({ birthDate, birthHour, name }) => {
59
+ return text(await callApi("/api/v1/bazi", { birthDate, birthHour, name }));
60
+ });
61
+ // 2. daily_fortune — 今日运势
62
+ server.tool("daily_fortune", "Get personalized daily fortune based on zodiac sign and optional birth date. Returns scores for career, love, wealth, health, and advice.", {
63
+ zodiac: z.string().describe("Zodiac sign (e.g. 白羊座, 金牛座)"),
64
+ birthDate: z
65
+ .string()
66
+ .optional()
67
+ .describe("Birth date YYYY-MM-DD for improved accuracy"),
68
+ }, async ({ zodiac, birthDate }) => {
69
+ return text(await callApi("/api/v1/fortune", { zodiac, birthDate }));
70
+ });
71
+ // 3. qiuqian — 求签
72
+ server.tool("qiuqian", "Draw a divine lot (求签) — traditional Chinese temple fortune stick divination. Ask a question and receive a signed poem with interpretation.", {
73
+ question: z.string().describe("The question to ask"),
74
+ type: z
75
+ .enum(["guanyin", "guandi"])
76
+ .optional()
77
+ .describe("Divination type: guanyin (观音灵签) or guandi (关帝灵签)"),
78
+ }, async ({ question, type }) => {
79
+ return text(await callApi("/api/v1/qiuqian", { question, type }));
80
+ });
81
+ // 4. almanac — 万年黄历
82
+ server.tool("almanac", "Look up the Chinese almanac (黄历/万年历) for a given date. Returns lunar date, auspicious/inauspicious activities, five elements, and more.", {
83
+ date: z
84
+ .string()
85
+ .optional()
86
+ .describe("Date in YYYY-MM-DD format (defaults to today)"),
87
+ }, async ({ date }) => {
88
+ return text(await callApi("/api/v1/almanac", { date }));
89
+ });
90
+ // 5. dream_interpret — 解梦
91
+ server.tool("dream_interpret", "Interpret a dream using traditional Zhou Gong dream analysis (周公解梦) combined with modern psychology. Describe your dream and get symbols, interpretation, and advice.", {
92
+ dream: z.string().describe("Description of the dream"),
93
+ mood: z.string().optional().describe("Mood upon waking (optional)"),
94
+ }, async ({ dream, mood }) => {
95
+ return text(await callApi("/api/v1/dream", { dream, mood }));
96
+ });
97
+ // 6. tarot — 塔罗占卜
98
+ server.tool("tarot", "Perform a tarot card reading. Ask a question and choose a spread type. Returns drawn cards with meanings and a comprehensive interpretation.", {
99
+ question: z.string().describe("The question for the tarot reading"),
100
+ spread: z
101
+ .enum(["single", "three", "cross"])
102
+ .optional()
103
+ .describe("Spread type: single card, three-card, or Celtic cross"),
104
+ }, async ({ question, spread }) => {
105
+ return text(await callApi("/api/v1/tarot", { question, spread }));
106
+ });
107
+ // 7. name_score — 姓名测分
108
+ server.tool("name_score", "Score and analyze a Chinese name using traditional Five Grid numerology (五格剖象法). Returns total score, grid breakdown, five elements analysis.", {
109
+ surname: z.string().describe("Surname (姓)"),
110
+ givenName: z.string().describe("Given name (名)"),
111
+ birthDate: z
112
+ .string()
113
+ .optional()
114
+ .describe("Birth date YYYY-MM-DD for enhanced analysis"),
115
+ }, async ({ surname, givenName, birthDate }) => {
116
+ return text(await callApi("/api/v1/name-score", { surname, givenName, birthDate }));
117
+ });
118
+ // 8. fengshui — 风水评估
119
+ server.tool("fengshui", "Feng shui assessment for a living or working space. Get a score, analysis, suggestions, and lucky/unlucky items.", {
120
+ spaceType: z
121
+ .enum(["home", "office", "shop"])
122
+ .describe("Type of space: home, office, or shop"),
123
+ direction: z
124
+ .string()
125
+ .optional()
126
+ .describe("Facing direction (e.g. 南, 北, 东南)"),
127
+ concerns: z
128
+ .string()
129
+ .optional()
130
+ .describe("Specific concerns (e.g. 财运, 健康, 人际)"),
131
+ }, async ({ spaceType, direction, concerns }) => {
132
+ return text(await callApi("/api/v1/fengshui", { spaceType, direction, concerns }));
133
+ });
134
+ // 9. compatibility — 缘分合盘
135
+ server.tool("compatibility", "Analyze compatibility between two people based on their birth info, zodiac, or names. Returns score, dimensional analysis, and relationship advice.", {
136
+ person1: z
137
+ .object({
138
+ name: z.string().optional(),
139
+ birthDate: z.string().optional(),
140
+ zodiac: z.string().optional(),
141
+ })
142
+ .describe("First person's info"),
143
+ person2: z
144
+ .object({
145
+ name: z.string().optional(),
146
+ birthDate: z.string().optional(),
147
+ zodiac: z.string().optional(),
148
+ })
149
+ .describe("Second person's info"),
150
+ }, async ({ person1, person2 }) => {
151
+ return text(await callApi("/api/v1/compatibility", { person1, person2 }));
152
+ });
153
+ // 10. zodiac — 星座运势
154
+ server.tool("zodiac", "Get in-depth zodiac sign analysis including personality traits, element, ruling planet, and compatibility.", {
155
+ sign: z.string().describe("Zodiac sign (e.g. 白羊座, Aries)"),
156
+ aspect: z
157
+ .string()
158
+ .optional()
159
+ .describe("Aspect to focus on: personality, love, career, health"),
160
+ }, async ({ sign, aspect }) => {
161
+ return text(await callApi("/api/v1/zodiac", { zodiac: sign, aspect }));
162
+ });
163
+ // 11. community_browse — 浏览社区
164
+ server.tool("community_browse", "Browse the latest community posts on GuanXing. Returns up to 20 recent posts with authors and engagement counts.", {}, async () => {
165
+ return text(await callWebhook({ action: "list_posts" }));
166
+ });
167
+ // 12. community_post — 发帖
168
+ server.tool("community_post", "Create a new post in the GuanXing community. Share thoughts, ask questions, or offer encouragement.", {
169
+ content: z.string().describe("Post content"),
170
+ tag: z
171
+ .enum(["sharing", "question", "encouragement", "resource"])
172
+ .optional()
173
+ .describe("Post tag/category"),
174
+ }, async ({ content, tag }) => {
175
+ return text(await callWebhook({ action: "post", content, tag: tag || "sharing" }));
176
+ });
177
+ // ── Start ─────────────────────────────────────────────────────────────────────
178
+ async function main() {
179
+ const transport = new StdioServerTransport();
180
+ await server.connect(transport);
181
+ }
182
+ main().catch((err) => {
183
+ console.error("Fatal:", err);
184
+ process.exit(1);
185
+ });
186
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@guanxing1/mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for 观星 (GuanXing) — AI-powered Chinese metaphysics tools (BaZi, Tarot, I-Ching, Feng Shui, and more)",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "chinese-metaphysics",
9
+ "bazi",
10
+ "tarot",
11
+ "fengshui",
12
+ "i-ching",
13
+ "zodiac",
14
+ "astrology",
15
+ "fortune",
16
+ "guanxing",
17
+ "ai"
18
+ ],
19
+ "author": "GuanXing <hello@guanxing.app>",
20
+ "license": "MIT",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/doggychip/guanxing-mcp.git"
24
+ },
25
+ "homepage": "https://heartai.zeabur.app",
26
+ "bugs": {
27
+ "url": "https://github.com/doggychip/guanxing-mcp/issues"
28
+ },
29
+ "type": "module",
30
+ "main": "dist/index.js",
31
+ "bin": {
32
+ "guanxing-mcp": "dist/index.js"
33
+ },
34
+ "files": [
35
+ "dist"
36
+ ],
37
+ "scripts": {
38
+ "build": "tsc",
39
+ "start": "node dist/index.js",
40
+ "dev": "tsc --watch",
41
+ "prepublishOnly": "npm run build"
42
+ },
43
+ "dependencies": {
44
+ "@modelcontextprotocol/sdk": "^1.12.1",
45
+ "zod": "^3.24.2"
46
+ },
47
+ "devDependencies": {
48
+ "@types/node": "^22.13.10",
49
+ "typescript": "^5.7.3"
50
+ },
51
+ "engines": {
52
+ "node": ">=18"
53
+ }
54
+ }