16pf-mcp 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.
@@ -0,0 +1,3 @@
1
+ import { Answer, TestResult } from './types.js';
2
+ export declare function calculateResult(answers: Answer[]): TestResult;
3
+ //# sourceMappingURL=calculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../src/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA8IhD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAgC7D"}
@@ -0,0 +1,161 @@
1
+ const traitProfiles = {
2
+ A: {
3
+ name: '乐群性',
4
+ emoji: '🤝',
5
+ desc: '你是人群中的粘合剂,天生自带社交磁场。别人充电靠睡觉,你充电靠跟人待在一起。你的存在让任何团队都变得更有温度、更有人情味。',
6
+ cheers: '你知道吗?在这个社恐盛行的时代,你的热情是一种稀缺资源。你让沉默的人开口,让孤独的人觉得被看见。你的朋友圈不是「社交网络」,是「情感基础设施」。继续做那个主动打招呼的人——这个世界需要更多像你一样不怕冷场的人。',
7
+ perfectMatch: '团队里的社交枢纽、聚会组织者、每个群体里那个「有你在气氛就不会差」的人',
8
+ advice: '偶尔也要学会一个人待着。不是所有人都能跟上你的社交节奏,而你也不需要每次都做那个带动气氛的人。独处的时候,你会发现安静的自己也挺可爱的。'
9
+ },
10
+ B: {
11
+ name: '聪慧性',
12
+ emoji: '🧠',
13
+ desc: '你的大脑像一台永远在后台运行的超级计算机——分析、归纳、推理、预测,流水线作业。在学习新东西这件事上,你是自带加速器的人。',
14
+ cheers: '你的聪明不是那种「我考了满分」的聪明,是「我看到别人看不到的连接」的聪明。别人在走迷宫,你在看迷宫的地图。这不是天赋,这是你选择不断思考的结果。保持好奇,别让这个世界钝化你的敏锐。',
15
+ perfectMatch: '新知识转化速度第一人、任何智力挑战都能迎刃而解的队友、朋友遇到复杂问题时的第一求助对象',
16
+ advice: '不用把每件事都想得那么透。有些东西不需要分析,感受就好。偶尔关掉大脑的分析模式,你会发现有些事情「说不清为什么」但就是很美好。'
17
+ },
18
+ C: {
19
+ name: '稳定性',
20
+ emoji: '🧘',
21
+ desc: '你是风暴中的定海神针,周围人仰赖的情绪锚点。当所有人都在尖叫的时候,你在想「第一步应该做什么」——并且已经想好了。',
22
+ cheers: '你的稳定不是冷漠,是一种经过修炼的内功。你让慌乱的人找到方向,让焦虑的人慢慢平静。在一个情绪过山车的世界里,你是一张平稳行驶的列车票——被你陪伴过的人都会记得那种「跟你在一起就觉得安心」的感觉。',
23
+ perfectMatch: '危机时刻的指挥官、团队里最被依赖的人、朋友在崩溃边缘第一个想到的靠山',
24
+ advice: '你习惯了被别人依靠,但别忘了你也有脆弱的权利。不是每次都要做那个「稳住局面」的人。偶尔也可以对信任的人说「今天换你撑着我吧」。'
25
+ },
26
+ E: {
27
+ name: '支配性',
28
+ emoji: '👑',
29
+ desc: '你的主见和领导力是天生的——不是那种霸道的支配,而是别人会不由自主地看向你、等你的判断。你不是抢着做领导的人,你是被推上去之后发现「果然还是我来比较好」的人。',
30
+ cheers: '你的果断和责任担当让团队有了方向感。在很多人还犹豫不决的时候,你已经在行动了。你的领导力不是靠职位给的,是靠判断力和执行力挣来的。被你带领过的人都知道——跟着你,踏实。',
31
+ perfectMatch: '团队的天然领袖、任何需要快速决策的场景都能掌控的人、那个在混乱中说「听我的」然后大家都照做的人',
32
+ advice: '偶尔也要学会放手。不是每件事都要你来扛,不是每个人都需要你来管。信任别人也是领导力的一部分——让人有犯错和成长的空间,你会发现团队变得更强。'
33
+ },
34
+ F: {
35
+ name: '兴奋性',
36
+ emoji: '🎉',
37
+ desc: '你是行走的快乐制造机,自带气场BGM。你的笑声有传染性,你的热情能点燃一整个房间。你用轻松的态度提醒所有人:活着不必那么严肃。',
38
+ cheers: '你的快乐不是肤浅的快乐——是一种让沉重变轻、让死板变活、让紧张变笑的魔法。你让周围的人学会了一件事:再正经的事情也可以带着笑容做。你不需要变成别人眼中的「稳重」模样——这个世界不缺稳重,缺你这种能在会议室里讲段子的活力。',
39
+ perfectMatch: '派对气氛的引爆器、团队团建的核心设计师、任何场合里那个让大家觉得「今天真开心」的人',
40
+ advice: '不是每时每刻都需要快乐。你也允许自己有不开心、不想笑、不想营业的时候。你的存在不是为了取悦所有人——安静的你、低落的你,同样值得被接纳。'
41
+ },
42
+ G: {
43
+ name: '有恒性',
44
+ emoji: '📏',
45
+ desc: '你的责任感重到可以在称上秤出斤两。答应了的事情就是军令状,不做到你睡不着觉。你让「靠谱」这个词有了具体的定义。',
46
+ cheers: '在这个「差不多先生」满地跑的年代,你是那个让人安心的存在。你的诚信是你的无形资产,每一个被你承诺过的人都知道——你说出口的话,就是已经完成了的事。你是朋友最信任的人,是同事最愿意合作的伙伴,是社会运转的螺丝钉中最可靠的那一颗。',
47
+ perfectMatch: '团队里的底线守护者、朋友最放心的「万能托付对象」、任何需要长期坚持和责任感的事业的中流砥柱',
48
+ advice: '不要把自己压得太紧。你对别人说到做到,但对自己呢?答应过自己的事情——休息、放松、给自己一点容错空间——也要说到做到。'
49
+ },
50
+ H: {
51
+ name: '敢为性',
52
+ emoji: '🦁',
53
+ desc: '你的胆量像被充了电——别人在犹豫的时候你已经冲出去了。恐惧对你来说不是停止信号,是「有趣的事情要开始了」的提示音。',
54
+ cheers: '你的勇敢不是傻大胆,是一种对生活和挑战的热情。你让旁观者感受到「原来这些事情是可以做的」。你的冒险精神是你最宝贵的礼物——它让你经历别人永远只能想象的风景。继续冲锋吧,你的身后已经跟了一群被你激励的人。',
55
+ perfectMatch: '团队里的先锋、冒险故事的讲述者、朋友口中「你敢做我就跟你一起」的那位',
56
+ advice: '勇敢不等于不计后果。偶尔停下来听一下别人的意见——TA们说「等一下」的时候,不是在打击你,是在担心你。保护好自己也是勇敢的一种。'
57
+ },
58
+ I: {
59
+ name: '敏感性',
60
+ emoji: '🎨',
61
+ desc: '你的感官好像多了几个频道——能感受到别人忽略的美、忽略的痛、忽略的情绪波动。你不是「想太多」,你是波长比别人更宽广。',
62
+ cheers: '细腻不是缺陷,是你对世界的感知精度比别人高。你看到一幅画、听到一段音乐时的感动,是你独特的天赋。你让身边的人觉得被理解——因为你能感觉到他们没说出口的话。艺术、文学、音乐,所有美好的事物都因为有你这样的人才能被创造和欣赏。',
63
+ perfectMatch: '团队的审美担当、创意的灵感源泉、朋友在深夜需要倾诉时最想要接通的那个电话',
64
+ advice: '你的敏感让你容易受伤,但你不需要为了「强大」而关闭你的感受器。学会在敏感外面加一层保护膜——不是屏蔽感情,是选择性地接收。不是所有的情绪都值得你全盘吸收。'
65
+ },
66
+ L: {
67
+ name: '怀疑性',
68
+ emoji: '🕵️',
69
+ desc: '你的警觉系统常年在线。不是你不信任人,是你太清楚世界不是童话。你的怀疑帮你和你在意的人避开了很多坑。',
70
+ cheers: '多疑在很多时候是生存智慧。你看到别人忽略的漏洞,嗅到别人没注意的风险。你不是悲观,你是「经过验证的谨慎」。被你信任是一件非常值得骄傲的事——因为你的信任是经过层层安检才发出去的。',
71
+ perfectMatch: '团队的「最坏情况分析师」、风险评估的天然直觉者、朋友在签合同/做重大决定前第一个想咨询的人',
72
+ advice: '不是每个人都在演你。有些善意是真的——毫无目的的、不附带条件的善意。你的防线保护了你很多次,但偶尔让它降下来一点点,你会看到阳光比你想象的要温暖。'
73
+ },
74
+ M: {
75
+ name: '幻想性',
76
+ emoji: '🌌',
77
+ desc: '你的内心世界大到可以装下几个宇宙——想象力是你的母语,创意是你的货币。别人看到现实,你看到现实背后的无限可能。',
78
+ cheers: '你的幻想不是逃避现实,是创造新的现实。所有的发明、所有的故事、所有让人惊叹的艺术品,都开始于一个像你一样「想太多」的人。你让这个世界不止是「是什么」,还是「可以是什么」。你的脑洞是你最值钱的资产。',
79
+ perfectMatch: '创意的发动机、团队的脑洞担当、那个「我有一个大胆的想法」永远说不完的人',
80
+ advice: '偶尔也要回到地面。天马行空很棒,但有些事情需要落地才能影响到他人。把你的幻想世界的一小部分带到现实里来——哪怕只是写下来、画出来、说出来——世界会感谢你的。'
81
+ },
82
+ N: {
83
+ name: '世故性',
84
+ emoji: '🎭',
85
+ desc: '你看人的本事像一台精密的人体扫描仪——能读出社交场合中的暗流、判断出每个人的真实意图。你不是狡猾,你是清醒。',
86
+ cheers: '你的社交智慧是一种高级技能。你让复杂的局面变得可控,让不同的人都能在你面前感到舒服。你的「圆滑」不是虚伪,是「我知道怎么让事情顺利推进」。你是一个很好的沟通者——知道什么该说、什么时候说、怎么说。',
87
+ perfectMatch: '社交场合的隐形主持人、复杂人脉的梳理大师、那个在办公室政治中永远不踩坑的人',
88
+ advice: '不用在每段关系中都保持完美距离。偶尔可以放下社交技巧,对一两个人完全坦诚——真心话虽然不总是最优策略,但它是维系深度关系的基础。'
89
+ },
90
+ O: {
91
+ name: '忧虑性',
92
+ emoji: '😰',
93
+ desc: '你的大脑里有一个永远不会关闭的「风险评估部门」——凡事都先想到最坏情况。你比别人更容易担心,但也比别人更少出意外。',
94
+ cheers: '你的忧虑是一种自我保护机制——它让你在别人忽视的地方看到潜在问题。你不是杞人忧天,你是「预判大师」。因为你想得多,所以你准备得比别人充分;因为你担心,所以你在意。能被你担心的人其实很幸运——那是你关心的方式。',
95
+ perfectMatch: '团队的系统测试员、风险预判的第一道防线、那个在出发前默默检查所有人有没有带齐东西的人',
96
+ advice: '担心是一件消耗很大的事。你不需要为所有可能发生的坏事提前付利息。有些灾难只存在于你的想象中——在它真的发生之前,先别给它付费。'
97
+ },
98
+ Q1: {
99
+ name: '实验性',
100
+ emoji: '🔬',
101
+ desc: '你对新事物的好奇心像永不熄灭的火——不管是什么,先试试再说。你骨子里相信:现状是用来被打破的,规则是用来被重写的。',
102
+ cheers: '你的开放心态让你永远年轻。在别人固步自封的时候,你在摸索新的可能性。你让世界保持进化——因为有你这样的人,人类才从洞穴搬到了摩天大楼。拥抱你的好奇心,它是你无价的指南针。',
103
+ perfectMatch: '新工具的第一个尝鲜者、团队里的变革推动者、那个总是说「为什么不试试呢」的人',
104
+ advice: '不是所有的新东西都更好,也不是所有的旧东西都该扔。在你追逐下一个新事物的同时,偶尔回头看看被你抛在身后的东西——有些值得留下来。'
105
+ },
106
+ Q2: {
107
+ name: '独立性',
108
+ emoji: '🦅',
109
+ desc: '你的独立是骨子里的——不是反社会,是真心觉得一个人能搞定的事情不需要麻烦别人。你的自给自足让你在任何环境里都能活得很好。',
110
+ cheers: '你的独立是这个世界给你的最大祝福。你不依赖别人来定义自己的价值,你自己就是自己的坐标系。在别人迷失在群体中的时候,你始终知道自己的方向。你的力量是内生的——这是最稳定的能源。',
111
+ perfectMatch: '独自旅行的高手、自力更生的代名词、那个「没事我自己来」然后真的能把一切搞定的人',
112
+ advice: '不依赖别人是一种能力,但被依赖也是一种幸福。偶尔让生活中有一些人是你「需要」的——不是因为你弱,是因为连接让生活有了更丰富的层次。'
113
+ },
114
+ Q3: {
115
+ name: '自律性',
116
+ emoji: '🎯',
117
+ desc: '你的自我管理能力堪称精密的瑞士钟表——说到做到、有条不紊。你对自己有高标准,并且你基本都能达到。',
118
+ cheers: '你证明了自律不是折磨,是自由。因为你管得住自己,所以你能做别人做不到的事。你的坚持让你配得上你所有的成就。跟你一起工作的人很幸运——因为他们知道你不会半途而废。你让「努力」这个词有了具体的画面。',
119
+ perfectMatch: '长期目标的终极执行者、团队里最值得依赖的那块基石、那个「说要做什么就一定会做完」的人',
120
+ advice: '你对完美的追求很动人,但也要给自己留一点「不完美」的空间。你不是机器,你是人——偶尔的懈怠、犯错、不按计划来,不是失败,是人之常情。'
121
+ },
122
+ Q4: {
123
+ name: '紧张性',
124
+ emoji: '⚡',
125
+ desc: '你的身体里好像装了一个永远不会停机的马达——随时警觉、随时冲锋、随时在运转。你的紧绷感是你成就的来源,也是你偶尔的负担。',
126
+ cheers: '你的紧张不是焦虑症,是对生活的高度参与。你在乎所以紧张,你重视所以放不下。你的能量密度让很多人羡慕——你在别人做一件事的时间里做了三件事。你是自己生活的肾上腺素。',
127
+ perfectMatch: '高效能的代名词、紧急情况下的快反部队、那个总是第一个完成所有事情的人',
128
+ advice: '放松不是懒惰。你的马达需要保养的时间——不是停下来就废了,是会变得更有力。试着找到一件让你完全不紧张的事情:可能是一杯热茶、一首慢歌、一个什么都不做的下午。你值得这种休息。'
129
+ },
130
+ };
131
+ export function calculateResult(answers) {
132
+ const traits = ['A', 'B', 'C', 'E', 'F', 'G', 'H', 'I', 'L', 'M', 'N', 'O', 'Q1', 'Q2', 'Q3', 'Q4'];
133
+ const scores = Object.fromEntries(traits.map(t => [t, 0]));
134
+ // 6 questions per trait, questionId 1-6 = A, 7-12 = B, etc.
135
+ for (const a of answers) {
136
+ const traitIdx = Math.floor((a.questionId - 1) / 6);
137
+ const trait = traits[traitIdx];
138
+ if (trait)
139
+ scores[trait] += a.score;
140
+ }
141
+ const maxPerTrait = 6 * 5; // 30
142
+ const normalizedScores = {};
143
+ for (const t of traits) {
144
+ // Normalize to 1-10
145
+ normalizedScores[t] = Math.max(1, Math.min(10, Math.round((scores[t] / maxPerTrait) * 9 + 1)));
146
+ }
147
+ const sorted = Object.entries(normalizedScores).sort((a, b) => b[1] - a[1]);
148
+ const primary = sorted[0][0];
149
+ const profile = traitProfiles[primary];
150
+ return {
151
+ type: primary,
152
+ typeName: profile.name,
153
+ emoji: profile.emoji,
154
+ scores: normalizedScores,
155
+ description: profile.desc,
156
+ cheers: profile.cheers,
157
+ perfectMatch: profile.perfectMatch,
158
+ advice: profile.advice,
159
+ };
160
+ }
161
+ //# sourceMappingURL=calculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../src/calculator.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAiC;IAClD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,+DAA+D;QACrE,MAAM,EAAE,2GAA2G;QACnH,YAAY,EAAE,qCAAqC;QACnD,MAAM,EAAE,sEAAsE;KAC/E;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,+DAA+D;QACrE,MAAM,EAAE,4FAA4F;QACpG,YAAY,EAAE,6CAA6C;QAC3D,MAAM,EAAE,iEAAiE;KAC1E;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE,mGAAmG;QAC3G,YAAY,EAAE,oCAAoC;QAClD,MAAM,EAAE,iEAAiE;KAC1E;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,iFAAiF;QACvF,MAAM,EAAE,sFAAsF;QAC9F,YAAY,EAAE,iDAAiD;QAC/D,MAAM,EAAE,wEAAwE;KACjF;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,iEAAiE;QACvE,MAAM,EAAE,gHAAgH;QACxH,YAAY,EAAE,2CAA2C;QACzD,MAAM,EAAE,sEAAsE;KAC/E;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,yDAAyD;QAC/D,MAAM,EAAE,mHAAmH;QAC3H,YAAY,EAAE,+CAA+C;QAC7D,MAAM,EAAE,6DAA6D;KACtE;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE,uGAAuG;QAC/G,YAAY,EAAE,oCAAoC;QAClD,MAAM,EAAE,kEAAkE;KAC3E;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,4DAA4D;QAClE,MAAM,EAAE,iHAAiH;QACzH,YAAY,EAAE,sCAAsC;QACpD,MAAM,EAAE,+EAA+E;KACxF;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,oDAAoD;QAC1D,MAAM,EAAE,2FAA2F;QACnG,YAAY,EAAE,+CAA+C;QAC7D,MAAM,EAAE,2EAA2E;KACpF;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,yDAAyD;QAC/D,MAAM,EAAE,oGAAoG;QAC5G,YAAY,EAAE,qCAAqC;QACnD,MAAM,EAAE,gFAAgF;KACzF;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,wDAAwD;QAC9D,MAAM,EAAE,oGAAoG;QAC5G,YAAY,EAAE,uCAAuC;QACrD,MAAM,EAAE,kEAAkE;KAC3E;IACD,CAAC,EAAE;QACD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE,0GAA0G;QAClH,YAAY,EAAE,4CAA4C;QAC1D,MAAM,EAAE,iEAAiE;KAC1E;IACD,EAAE,EAAE;QACF,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE,uFAAuF;QAC/F,YAAY,EAAE,uCAAuC;QACrD,MAAM,EAAE,kEAAkE;KAC3E;IACD,EAAE,EAAE;QACF,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,8DAA8D;QACpE,MAAM,EAAE,yFAAyF;QACjG,YAAY,EAAE,yCAAyC;QACvD,MAAM,EAAE,mEAAmE;KAC5E;IACD,EAAE,EAAE;QACF,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,kDAAkD;QACxD,MAAM,EAAE,mGAAmG;QAC3G,YAAY,EAAE,4CAA4C;QAC1D,MAAM,EAAE,oEAAoE;KAC7E;IACD,EAAE,EAAE;QACF,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,8DAA8D;QACpE,MAAM,EAAE,mFAAmF;QAC3F,YAAY,EAAE,oCAAoC;QAClD,MAAM,EAAE,wFAAwF;KACjG;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,OAAiB;IAC/C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpG,MAAM,MAAM,GAA2B,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnF,4DAA4D;IAC5D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;IAChC,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,oBAAoB;QACpB,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO,CAAC,IAAI;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,gBAAgB;QACxB,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * 16PF MCP Server — 卡特尔十六种人格因素测验
4
+ * 96道幽默题目 · 16种人格特质 · 深度剖析报告
5
+ *
6
+ * 用法: npx -y 16pf-mcp
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
package/dist/index.js ADDED
@@ -0,0 +1,226 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * 16PF MCP Server — 卡特尔十六种人格因素测验
4
+ * 96道幽默题目 · 16种人格特质 · 深度剖析报告
5
+ *
6
+ * 用法: npx -y 16pf-mcp
7
+ */
8
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
9
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
10
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
11
+ import { questions } from './questions.js';
12
+ import { calculateResult } from './calculator.js';
13
+ const server = new Server({ name: '16pf-mcp-server', version: '1.0.0' }, { capabilities: { tools: {} } });
14
+ // ==================== List tools ====================
15
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
16
+ tools: [
17
+ {
18
+ name: 'start_16pf_test',
19
+ description: `开始16PF人格测试!一共${questions.length}道趣味题目,测量16种人格特质。每道题回答 1-5 分,放轻松,没有对错,只有你的专属人格画像在等你。`,
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {},
23
+ required: [],
24
+ },
25
+ },
26
+ {
27
+ name: 'answer_question',
28
+ description: '提交当前问题的答案(1-5分),获取下一题或最终结果提示。',
29
+ inputSchema: {
30
+ type: 'object',
31
+ properties: {
32
+ session: {
33
+ type: 'object',
34
+ description: '测试会话状态',
35
+ properties: {
36
+ answers: { type: 'array', items: { type: 'object', properties: { questionId: { type: 'number' }, score: { type: 'number' } } } },
37
+ currentQuestionIndex: { type: 'number' },
38
+ },
39
+ required: ['answers', 'currentQuestionIndex'],
40
+ },
41
+ score: {
42
+ type: 'number',
43
+ description: '1=完全不像我, 2=不太像我, 3=有时候像, 4=挺像我的, 5=这就是我本人!',
44
+ minimum: 1,
45
+ maximum: 5,
46
+ },
47
+ },
48
+ required: ['session', 'score'],
49
+ },
50
+ },
51
+ {
52
+ name: 'get_progress',
53
+ description: '看看你做了多少题了,还差几题就能看到你的完整人格剖析报告。',
54
+ inputSchema: {
55
+ type: 'object',
56
+ properties: {
57
+ session: {
58
+ type: 'object',
59
+ properties: {
60
+ answers: { type: 'array' },
61
+ currentQuestionIndex: { type: 'number' },
62
+ },
63
+ required: ['answers', 'currentQuestionIndex'],
64
+ },
65
+ },
66
+ required: ['session'],
67
+ },
68
+ },
69
+ {
70
+ name: 'calculate_16pf_result',
71
+ description: `做完所有${questions.length}题后,获取你的16PF人格报告!包含16个维度的评分(1-10分)和最主要人格特质的深度剖析。`,
72
+ inputSchema: {
73
+ type: 'object',
74
+ properties: {
75
+ session: {
76
+ type: 'object',
77
+ properties: {
78
+ answers: { type: 'array' },
79
+ currentQuestionIndex: { type: 'number' },
80
+ },
81
+ required: ['answers', 'currentQuestionIndex'],
82
+ },
83
+ },
84
+ required: ['session'],
85
+ },
86
+ },
87
+ ],
88
+ }));
89
+ // ==================== Call tool ====================
90
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
91
+ const { name, arguments: args } = request.params;
92
+ try {
93
+ // --- start_16pf_test ---
94
+ if (name === 'start_16pf_test') {
95
+ const session = { answers: [], currentQuestionIndex: 0 };
96
+ return {
97
+ content: [{ type: 'text', text: JSON.stringify({
98
+ message: `🧠 16PF人格测试开始啦!一共 ${questions.length} 题,测量16种人格特质。放轻松,没有对错,只有你的专属人格画像在等你~`,
99
+ aboutTheTest: '每道题请根据你的第一反应打分:1=完全不像我 · 5=这就是我本人!',
100
+ currentQuestion: {
101
+ index: 1,
102
+ total: questions.length,
103
+ question: questions[0],
104
+ },
105
+ session,
106
+ }, null, 2) }],
107
+ };
108
+ }
109
+ // --- answer_question ---
110
+ if (name === 'answer_question') {
111
+ const session = (args?.session ?? { answers: [], currentQuestionIndex: 0 });
112
+ const score = Number(args?.score ?? 3);
113
+ const currentQ = questions[session.currentQuestionIndex];
114
+ const updatedSession = {
115
+ ...session,
116
+ answers: [...session.answers, { questionId: currentQ.id, score }],
117
+ currentQuestionIndex: session.currentQuestionIndex + 1,
118
+ };
119
+ if (updatedSession.currentQuestionIndex >= questions.length) {
120
+ return {
121
+ content: [{ type: 'text', text: JSON.stringify({
122
+ message: `所有 ${questions.length} 道题都答完了!太厉害了,这可不是一个短测试!现在只剩最后一步~`,
123
+ completed: true,
124
+ progress: { answered: updatedSession.answers.length, total: questions.length },
125
+ session: updatedSession,
126
+ nextStep: '快来用 calculate_16pf_result 看看你的完整人格剖析报告吧!',
127
+ }, null, 2) }],
128
+ };
129
+ }
130
+ const nextQ = questions[updatedSession.currentQuestionIndex];
131
+ const progressPct = Math.round(updatedSession.currentQuestionIndex / questions.length * 100);
132
+ const encouragement = progressPct < 30 ? '开局不错!继续加油~' :
133
+ progressPct < 60 ? '越来越有意思了,我感觉你的人格特质正在慢慢浮现!' :
134
+ progressPct < 90 ? '快做完啦!坚持住,你的完整人格报告马上就要出炉了~' :
135
+ '最后几题了!答案即将揭晓!';
136
+ return {
137
+ content: [{ type: 'text', text: JSON.stringify({
138
+ message: encouragement,
139
+ progress: {
140
+ answered: updatedSession.answers.length,
141
+ total: questions.length,
142
+ percentage: Math.round(updatedSession.answers.length / questions.length * 100),
143
+ },
144
+ nextQuestion: {
145
+ index: updatedSession.currentQuestionIndex + 1,
146
+ total: questions.length,
147
+ question: nextQ,
148
+ },
149
+ session: updatedSession,
150
+ }, null, 2) }],
151
+ };
152
+ }
153
+ // --- get_progress ---
154
+ if (name === 'get_progress') {
155
+ const session = (args?.session ?? { answers: [], currentQuestionIndex: 0 });
156
+ const answered = session.answers?.length ?? 0;
157
+ const pct = Math.round(answered / questions.length * 100);
158
+ return {
159
+ content: [{ type: 'text', text: JSON.stringify({
160
+ answered,
161
+ total: questions.length,
162
+ percentage: pct,
163
+ remaining: questions.length - answered,
164
+ vibes: pct === 0 ? '还没开始呢,输入 start_16pf_test 来探索你的16个维度吧!' :
165
+ pct === 100 ? '所有题目都答完啦!去用 calculate_16pf_result 揭晓你的完整人格报告吧~' :
166
+ `你已经完成了 ${pct}%,加油!还剩 ${questions.length - answered} 题~`,
167
+ }, null, 2) }],
168
+ };
169
+ }
170
+ // --- calculate_16pf_result ---
171
+ if (name === 'calculate_16pf_result') {
172
+ const session = (args?.session ?? { answers: [], currentQuestionIndex: 0 });
173
+ if (!session.answers || session.answers.length < questions.length) {
174
+ return {
175
+ content: [{ type: 'text', text: JSON.stringify({
176
+ error: '还没做完呢~再回答几题就可以揭晓你的16PF人格报告啦!',
177
+ progress: { answered: session.answers?.length ?? 0, total: questions.length },
178
+ }, null, 2) }], isError: true,
179
+ };
180
+ }
181
+ const result = calculateResult(session.answers);
182
+ const traitNames = {
183
+ A: '乐群性', B: '聪慧性', C: '稳定性', E: '支配性', F: '兴奋性', G: '有恒性',
184
+ H: '敢为性', I: '敏感性', L: '怀疑性', M: '幻想性', N: '世故性', O: '忧虑性',
185
+ Q1: '实验性', Q2: '独立性', Q3: '自律性', Q4: '紧张性',
186
+ };
187
+ const allDescriptions = Object.entries(result.scores).map(([k, v]) => ({
188
+ trait: traitNames[k] || k,
189
+ key: k,
190
+ score: v,
191
+ level: v >= 8 ? '很高' : v >= 6 ? '偏高' : v >= 4 ? '中等' : v >= 2 ? '偏低' : '很低',
192
+ }));
193
+ return {
194
+ content: [{ type: 'text', text: JSON.stringify({
195
+ message: '🧠 你的16PF人格剖析报告已生成!',
196
+ yourPrimaryTrait: {
197
+ type: result.type,
198
+ name: result.typeName,
199
+ emoji: result.emoji,
200
+ description: result.description,
201
+ },
202
+ all16Traits: allDescriptions,
203
+ cheers: result.cheers,
204
+ perfectMatch: result.perfectMatch,
205
+ advice: result.advice,
206
+ finalThought: '每个人都由这十六种特质编织而成——不是单一的颜色,是复杂的、流动的、不断生长的光谱。你的「高」和「低」不是好与坏,是你在世界上的独特坐标。谢谢你信任这个测试,今天起请重新认识一下你自己——你比你想象的要丰富得多。',
207
+ }, null, 2) }],
208
+ };
209
+ }
210
+ return { content: [{ type: 'text', text: JSON.stringify({ error: '未知工具' }) }], isError: true };
211
+ }
212
+ catch (error) {
213
+ return {
214
+ content: [{ type: 'text', text: JSON.stringify({ error: error instanceof Error ? error.message : '未知错误' }) }],
215
+ isError: true,
216
+ };
217
+ }
218
+ });
219
+ // ==================== 启动 ====================
220
+ async function main() {
221
+ const transport = new StdioServerTransport();
222
+ await server.connect(transport);
223
+ console.error('🧠 16PF MCP Server running on stdio');
224
+ }
225
+ main().catch((error) => { console.error('Server error:', error); process.exit(1); });
226
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Question } from './types.js';
2
+ export declare const questions: Question[];
3
+ export declare const totalQuestions: number;
4
+ //# sourceMappingURL=questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../src/questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAO,MAAM,SAAS,EAAE,QAAQ,EAgI/B,CAAC;AAEF,eAAO,MAAM,cAAc,QAAmB,CAAC"}
@@ -0,0 +1,116 @@
1
+ export const questions = [
2
+ // ========== 乐群性 A (Warmth) ==========
3
+ { id: 1, text: "你在电梯里遇到一个陌生人,三秒钟之内你已经在想「要不要夸他的鞋」", trait: 'A', emoji: '🤝' },
4
+ { id: 2, text: "一个人吃饭的时候,你会下意识地打开手机找人聊天——哪怕只是发个表情包", trait: 'A', emoji: '🤝' },
5
+ { id: 3, text: "朋友说「不用来接我」,你已经穿好外套站在门口了,因为你知道他只是客气", trait: 'A', emoji: '🤝' },
6
+ { id: 4, text: "你到一个新环境的第一件事不是找出口,是找「谁看起来比较好聊天」", trait: 'A', emoji: '🤝' },
7
+ { id: 5, text: "你的微信置顶群数量,比你未读邮件的数量还多——而且你每个都认真回", trait: 'A', emoji: '🤝' },
8
+ { id: 6, text: "独自在家超过三小时,你开始对着猫/植物/扫地机器人说话,并且觉得自己讲得很有道理", trait: 'A', emoji: '🤝' },
9
+ // ========== 聪慧性 B (Reasoning) ==========
10
+ { id: 7, text: "别人给你讲一个故事,你脑子里已经在画逻辑关系图了,顺便找到了三个伏笔和一个漏洞", trait: 'B', emoji: '🧠' },
11
+ { id: 8, text: "你看悬疑电影的时候,开场十分钟就开始小声嘀咕「凶手是那个送外卖的」——然后通常是对的", trait: 'B', emoji: '🧠' },
12
+ { id: 9, text: "别人在纠结「选A还是选B」的时候,你已经列出了A和B各自的优缺点矩阵,外加一个「都不选的理由」", trait: 'B', emoji: '🧠' },
13
+ { id: 10, text: "你对「这不就是常识吗」的理解和别人不太一样——你的「常识」包括了热力学第二定律的基本推论", trait: 'B', emoji: '🧠' },
14
+ { id: 11, text: "别人说「让我想想」的意思是发呆,你说「让我想想」的意思是CPU全力运转五分钟后输出一套完整方案", trait: 'B', emoji: '🧠' },
15
+ { id: 12, text: "你有一种天赋:能把任何闲聊话题在三句话之内引到一个你正在研究的深层问题上", trait: 'B', emoji: '🧠' },
16
+ // ========== 稳定性 C (Emotional Stability) ==========
17
+ { id: 13, text: "身边所有人都在尖叫的时候,你正在安静地评估这个局面到底值不值得尖叫", trait: 'C', emoji: '🧘' },
18
+ { id: 14, text: "你的朋友形容你的精神状态是「一座湖」——扔多大的石头进去,涟漪都不会超过三圈", trait: 'C', emoji: '🧘' },
19
+ { id: 15, text: "别人遇到突发状况的第一反应是「啊啊啊啊」,你的第一反应是「好的,第一步是什么」", trait: 'C', emoji: '🧘' },
20
+ { id: 16, text: "有人对你发火的时候,你内心想的不是「他怎么敢」,而是「他今天可能没吃早饭」", trait: 'C', emoji: '🧘' },
21
+ { id: 17, text: "你的情绪像瑞士手表——不是没有波动,是波动都在你精密计算的范围内", trait: 'C', emoji: '🧘' },
22
+ { id: 18, text: "周围的人都在焦虑同一件事的时候,你发现自己已经自动切换到了「安抚大家」模式", trait: 'C', emoji: '🧘' },
23
+ // ========== 支配性 E (Dominance) ==========
24
+ { id: 19, text: "小组讨论没人发言的时候,你会在沉默的第三秒就开口:「那我先说一下我的想法」", trait: 'E', emoji: '👑' },
25
+ { id: 20, text: "别人建议你去吃火锅,你说「可以,不过我们换一家我常去的吧,汤底更香」——最终大家都听你的", trait: 'E', emoji: '👑' },
26
+ { id: 21, text: "你内心深处觉得「如果让我来管这个,效率至少提升30%」,而且这不是自负,是经过数据验证的", trait: 'E', emoji: '👑' },
27
+ { id: 22, text: "当你斩钉截铁地说「就这么定了」的时候,连你自己都佩服自己的果断——然后大家真的就这么定了", trait: 'E', emoji: '👑' },
28
+ { id: 23, text: "你在团队中的默认角色不是你选的,是大家自动把你推上去的——而你也很自然地接住了", trait: 'E', emoji: '👑' },
29
+ { id: 24, text: "辩论对你来说不是吵架,是一种娱乐方式。你说服对方的方式不是声音大,是逻辑密不透风", trait: 'E', emoji: '👑' },
30
+ // ========== 兴奋性 F (Liveliness) ==========
31
+ { id: 25, text: "你的笑声有一种神奇的魔力:方圆二十米内听到的人会不由自主地跟着笑,哪怕不知道在笑什么", trait: 'F', emoji: '🎉' },
32
+ { id: 26, text: "你以为自己只是在正常说话,但所有人都说你「充满激情」——连跟外卖小哥说谢谢都是", trait: 'F', emoji: '🎉' },
33
+ { id: 27, text: "你的人生哲学是:「严肃的事情也要用好玩的方式做,不然活着多没意思」", trait: 'F', emoji: '🎉' },
34
+ { id: 28, text: "你到一个安静的场合,空气就开始自动变热闹。你不是故意的,但气氛就是会围着你转", trait: 'F', emoji: '🎉' },
35
+ { id: 29, text: "你的表情量之大,足以支撑一整套「你本人出演」的表情包系列——朋友已经截了至少30张了", trait: 'F', emoji: '🎉' },
36
+ { id: 30, text: "别人过周末是「休息」,你过周末是「蓄力五天份的社交能量在两天内爆发」", trait: 'F', emoji: '🎉' },
37
+ // ========== 有恒性 G (Rule-Consciousness) ==========
38
+ { id: 31, text: "你看到别人插队的时候,内心戏长达三分钟:从「要不要说」到「我是直接说还是委婉说」再到排练开场白", trait: 'G', emoji: '📏' },
39
+ { id: 32, text: "你的待办清单里有一项叫「整理待办清单」,而且做完后会心满意足地给它打勾", trait: 'G', emoji: '📏' },
40
+ { id: 33, text: "你答应别人的事情,就算凌晨三点想起来也会从床上弹起来做——不然根本睡不着", trait: 'G', emoji: '📏' },
41
+ { id: 34, text: "你看到别人工作马虎过关的时候,内心会感到一种类似于「看到有人踩草坪」的不适感", trait: 'G', emoji: '📏' },
42
+ { id: 35, text: "你的守信程度已经到了朋友愿意把银行卡密码、家门密码和猫的喂食时间都托付给你的地步", trait: 'G', emoji: '📏' },
43
+ { id: 36, text: "你对「差不多就行了」这句话有一种生理性的抵触——合着你就是没办法做到差不多", trait: 'G', emoji: '📏' },
44
+ // ========== 敢为性 H (Social Boldness) ==========
45
+ { id: 37, text: "别人在犹豫要不要上台的时候,你已经站在台上了,而且不知道为什么手里还多了个麦克风", trait: 'H', emoji: '🦁' },
46
+ { id: 38, text: "你对「危险」这个词的理解是:「先试一下,危险的话再说」", trait: 'H', emoji: '🦁' },
47
+ { id: 39, text: "朋友说「这个不能碰」,你的脑子还没处理完这句话,手已经碰了", trait: 'H', emoji: '🦁' },
48
+ { id: 40, text: "你在陌生场合的表现可以用一句话概括:只要我不尴尬,尴尬的就是气氛", trait: 'H', emoji: '🦁' },
49
+ { id: 41, text: "你对新的挑战有一种类似于宠物看到飞盘的兴奋——二话不说就冲出去,至于是怎么接住的你自己也不知道", trait: 'H', emoji: '🦁' },
50
+ { id: 42, text: "别人以为你很勇敢,其实你只是「先做了再害怕」——但通常做完之后发现没什么好怕的", trait: 'H', emoji: '🦁' },
51
+ // ========== 敏感性 I (Sensitivity) ==========
52
+ { id: 43, text: "你看一部豆瓣7分的电影能哭三次——不是因为电影有多好,是因为你能感受到配角的内心世界", trait: 'I', emoji: '🎨' },
53
+ { id: 44, text: "朋友换了一个新头像,你是第一个发现的,并且能从头像的色调分析出他最近的心情", trait: 'I', emoji: '🎨' },
54
+ { id: 45, text: "你听一首歌的时候不只是听旋律——你听的是歌手录这首歌那天的心情、制作人的意图和混音师的审美", trait: 'I', emoji: '🎨' },
55
+ { id: 46, text: "路边一朵花开得特别好,你会在它面前站三秒然后轻声说「你今天真好看」——并且觉得它听到了", trait: 'I', emoji: '🎨' },
56
+ { id: 47, text: "你能准确地说出一个房间「哪里不对劲」——可能只是灯光偏暖了一点点,但你感觉到了", trait: 'I', emoji: '🎨' },
57
+ { id: 48, text: "当别人说「你想太多了」的时候,你心里想的其实是「是你们想太少了」——但你没说出口", trait: 'I', emoji: '🎨' },
58
+ // ========== 怀疑性 L (Vigilance) ==========
59
+ { id: 49, text: "有人对你特别好,你的第一反应不是感动,是「他到底想让我买什么」", trait: 'L', emoji: '🕵️' },
60
+ { id: 50, text: "你下载一个App之前会先把隐私政策翻到最后一页——不是你真的会看,是你需要确认「他们起码写了」", trait: 'L', emoji: '🕵️' },
61
+ { id: 51, text: "别人说「相信我」的时候,你内心的雷达从待机模式切换到了全功率扫描模式", trait: 'L', emoji: '🕵️' },
62
+ { id: 52, text: "你在相信一件事情之前,需要至少三个独立的证据来源——而且其中一个最好是你自己亲眼看到的", trait: 'L', emoji: '🕵️' },
63
+ { id: 53, text: "朋友圈里有人发「喜提新车」,你的第一反应是去看他上周是不是还在哭穷", trait: 'L', emoji: '🕵️' },
64
+ { id: 54, text: "你对「免费」这个词有天生的警觉——免费的东西往往是最贵的,这个道理你比谁都清楚", trait: 'L', emoji: '🕵️' },
65
+ // ========== 幻想性 M (Abstractedness) ==========
66
+ { id: 55, text: "开会的时候你人在会议室,但脑子里正在构想一个平行宇宙,在那里你是星际飞船的指挥官", trait: 'M', emoji: '🌌' },
67
+ { id: 56, text: "别人问你在想什么,你说「没什么」——其实你在想如果云可以做成棉花糖,天空是不是一个巨大的甜品店", trait: 'M', emoji: '🌌' },
68
+ { id: 57, text: "你看到一片落叶,脑子里自动生成了一部关于这片叶子前世今生的三幕剧", trait: 'M', emoji: '🌌' },
69
+ { id: 58, text: "你发呆的时候不是真的在发呆——你是在一个极其复杂的内心世界里处理极其抽象的概念,只是外表看起来像在发呆", trait: 'M', emoji: '🌌' },
70
+ { id: 59, text: "你写出来的东西经常被说「脑洞太大」——但你觉得自己只是正常发挥,是别人的脑洞太小了", trait: 'M', emoji: '🌌' },
71
+ { id: 60, text: "你跟别人描述一个想法的时候,对方的眼神从「有意思」变成「你在说什么」再变成「算了你说得对」", trait: 'M', emoji: '🌌' },
72
+ // ========== 世故性 N (Privateness) ==========
73
+ { id: 61, text: "你知道在不同的场合应该用什么语气说话——在长辈面前你乖巧,在朋友面前你疯癫,切换自如", trait: 'N', emoji: '🎭' },
74
+ { id: 62, text: "你能在五分钟内判断出一个社交场合的「权力结构」:谁说了算、谁在忍、谁马上要走", trait: 'N', emoji: '🎭' },
75
+ { id: 63, text: "你有一个超能力:表面上在真诚地回应对方,实际上在脑子里快速计算这句话说出来有没有坑", trait: 'N', emoji: '🎭' },
76
+ { id: 64, text: "你说「我再想想」的时候,其实你已经想好了——只是你需要用一种大家都舒服的方式说出来", trait: 'N', emoji: '🎭' },
77
+ { id: 65, text: "别人觉得你「很会说话」,但你自己知道你只是在恰当的时候说了恰当的东西——这是一门技术", trait: 'N', emoji: '🎭' },
78
+ { id: 66, text: "你有一种让所有人都觉得「你是站在我这边的」的天赋——而且你确实是真心这么觉得的,至少当下是", trait: 'N', emoji: '🎭' },
79
+ // ========== 忧虑性 O (Apprehension) ==========
80
+ { id: 67, text: "朋友五分钟没回消息,你已经脑补了至少三种可能性:手机坏了、出车祸了、我说错话了", trait: 'O', emoji: '😰' },
81
+ { id: 68, text: "你做了一件自己很满意的事,三秒之后就开始想:「但是刚才那个地方是不是没做好」", trait: 'O', emoji: '😰' },
82
+ { id: 69, text: "你的内心独白有一半是:「万一呢」「如果呢」「会不会呢」——但你从来不说出来", trait: 'O', emoji: '😰' },
83
+ { id: 70, text: "别人夸你的时候,你的第一反应是寻找对方可能存在的「善意谎言」的证据", trait: 'O', emoji: '😰' },
84
+ { id: 71, text: "你能在任何好消息里找到让你担心的部分——这不是悲观,这是一种你控制不了的「全景扫描」", trait: 'O', emoji: '😰' },
85
+ { id: 72, text: "你睡前的大脑回放功能特别强大,能把今天所有尴尬瞬间按时间轴重新播放一遍", trait: 'O', emoji: '😰' },
86
+ // ========== 实验性 Q1 (Openness to Change) ==========
87
+ { id: 73, text: "你的人生信条:「规则是给不懂变通的人写的——我不是不守规则,我是在测试规则的边界」", trait: 'Q1', emoji: '🔬' },
88
+ { id: 74, text: "别人说「一直都这么做啊」,你在心里已经在构想三种全新的做法并且觉得至少有两种会更好", trait: 'Q1', emoji: '🔬' },
89
+ { id: 75, text: "你对新事物的态度是:先不管好不好,试了再说——不好顶多就是一段有趣的失败经历", trait: 'Q1', emoji: '🔬' },
90
+ { id: 76, text: "你学新工具的速度让人害怕——别人还在看说明书目录的时候你已经上手玩出花来了", trait: 'Q1', emoji: '🔬' },
91
+ { id: 77, text: "「保持现状」在你听来不是一个选择,是一种慢性退步——你不得不往前跑,因为停着太难受了", trait: 'Q1', emoji: '🔬' },
92
+ { id: 78, text: "你骨子里有一种对「未知」的兴奋感——不知道的事情不是威胁,是还没拆的礼物", trait: 'Q1', emoji: '🔬' },
93
+ // ========== 独立性 Q2 (Self-Reliance) ==========
94
+ { id: 79, text: "别人说「我们一起做吧」,你的内心回答是「好的,但我已经自己做完一半了」", trait: 'Q2', emoji: '🦅' },
95
+ { id: 80, text: "你的人生格言:「靠山山倒,靠人人跑,靠自己最好——而且自己的效率最高」", trait: 'Q2', emoji: '🦅' },
96
+ { id: 81, text: "团队合作对你来说是一种「必要的妥协」——不是不喜欢大家,是你真的觉得一个人干活清爽多了", trait: 'Q2', emoji: '🦅' },
97
+ { id: 82, text: "你做决定的时候不太参考别人的意见——不是不尊重,是你对自己的判断有充分的信任", trait: 'Q2', emoji: '🦅' },
98
+ { id: 83, text: "别人结伴逛街的时候,你已经独自完成了「看房-签合同-搬家-买家具」的全流程,并且觉得很爽", trait: 'Q2', emoji: '🦅' },
99
+ { id: 84, text: "你发现你在人群中偶尔会走神——不是不喜欢人群,是你需要时不时回到自己的世界充个电", trait: 'Q2', emoji: '🦅' },
100
+ // ========== 自律性 Q3 (Perfectionism) ==========
101
+ { id: 85, text: "你的书桌/电脑桌面/手机App摆放有自己的一套分类体系——别人看不懂没关系,你知道每一个像素的用意", trait: 'Q3', emoji: '🎯' },
102
+ { id: 86, text: "你做一件事做到90%的时候,不是想着「差不多了」,而是开始焦虑剩下10%怎么才能做到120%", trait: 'Q3', emoji: '🎯' },
103
+ { id: 87, text: "你的日程表精确到半小时,而且你真的能大致执行——这种自律让你朋友既佩服又害怕", trait: 'Q3', emoji: '🎯' },
104
+ { id: 88, text: "你对自己要求很高,但你对别人其实挺宽容的——因为你知道高标准的痛苦,不忍心让别人也承受", trait: 'Q3', emoji: '🎯' },
105
+ { id: 89, text: "你在开始一项任务之前已经规划好了「最优路径」「备选方案」和「失败了怎么办」三个版本", trait: 'Q3', emoji: '🎯' },
106
+ { id: 90, text: "你不小心打错了一个标点符号,虽然没人会注意到,但你自己知道——并且会在心里默默扣自己一分", trait: 'Q3', emoji: '🎯' },
107
+ // ========== 紧张性 Q4 (Tension) ==========
108
+ { id: 91, text: "你的肩膀一年有三百六十四天是紧绷的——剩下那天你在做按摩,但在按摩床上也在想明天的待办事项", trait: 'Q4', emoji: '⚡' },
109
+ { id: 92, text: "你的放松方式是「用另一件事来逃避这件事」——这不是休息,这是压力转移,但你管它叫多线程", trait: 'Q4', emoji: '⚡' },
110
+ { id: 93, text: "别人问你「急什么」,你说不出具体的原因——就是一种从脊椎底部升上来的、不可名状的紧迫感", trait: 'Q4', emoji: '⚡' },
111
+ { id: 94, text: "你等红绿灯的时候会数秒,等电梯的时候会看楼层数字变化的速度——你不是没耐心,你是「时间很宝贵」", trait: 'Q4', emoji: '⚡' },
112
+ { id: 95, text: "你的朋友说你是「人形马达」——永远在运转,偶尔故障也只需要五分钟重启", trait: 'Q4', emoji: '⚡' },
113
+ { id: 96, text: "你内心深处渴望有一天能彻底放空,但你同时也知道——放空到一半你就会开始想「放空」这件事的结构和意义", trait: 'Q4', emoji: '⚡' },
114
+ ];
115
+ export const totalQuestions = questions.length;
116
+ //# sourceMappingURL=questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../src/questions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface Question {
2
+ id: number;
3
+ text: string;
4
+ trait: string;
5
+ emoji?: string;
6
+ }
7
+ export interface Answer {
8
+ questionId: number;
9
+ score: number;
10
+ }
11
+ export interface TestSession {
12
+ testType: string;
13
+ answers: Answer[];
14
+ currentQuestionIndex: number;
15
+ }
16
+ export interface TestResult {
17
+ type: string;
18
+ typeName: string;
19
+ emoji: string;
20
+ scores: Record<string, number>;
21
+ description: string;
22
+ cheers: string;
23
+ perfectMatch: string;
24
+ advice: string;
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "16pf-mcp",
3
+ "version": "1.0.0",
4
+ "description": "16PF人格测试 MCP Server — 卡特尔十六种人格因素测验,96道幽默题目,深度人格剖析",
5
+ "type": "module",
6
+ "bin": "./dist/index.js",
7
+ "files": ["dist", "README.md"],
8
+ "scripts": {
9
+ "build": "tsc",
10
+ "start": "node dist/index.js",
11
+ "dev": "tsx src/index.ts",
12
+ "prepublishOnly": "npm run build"
13
+ },
14
+ "keywords": ["mcp", "16pf", "personality", "cattell", "psychology"],
15
+ "license": "MIT",
16
+ "dependencies": { "@modelcontextprotocol/sdk": "^1.0.4" },
17
+ "devDependencies": { "@types/node": "^22.10.2", "tsx": "^4.0.0", "typescript": "^5.7.2" },
18
+ "engines": { "node": ">=18.0.0" }
19
+ }