npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

answer-book-mcp

v1.0.0

Published

智能问答和决策辅助的 MCP (Model Context Protocol) 服务器

Readme

答案之书 (Answer Book) MCP 服务器

一个基于 Model Context Protocol (MCP) 的智能问答系统,提供智慧答案、决策建议和个性化咨询服务。

🌟 功能特性

核心功能

  • 智能问答 - 基于自然语言处理的智能问题匹配和回答
  • 随机智慧 - 提供分类的智慧格言和人生感悟
  • 决策建议 - 基于情况分析的个性化决策支持
  • 历史记录 - 完整的问答历史管理和统计分析
  • 用户反馈 - 支持评分和反馈的持续改进机制

技术特性

  • 多语言支持 - 中文、英文、日文等多语言处理
  • 情感分析 - 基于情感倾向的智能回答匹配
  • 语义理解 - 使用 NLP 技术进行深度语义分析
  • 数据持久化 - 完整的数据存储和备份机制
  • 性能监控 - 实时性能指标和使用统计

🚀 快速开始

环境要求

  • Node.js 18+
  • npm 或 yarn

安装依赖

npm install

启动服务器

# 开发模式
npm run dev

# 生产模式
npm start

# MCP 服务器模式
node start.js

运行测试

npm test

代码检查

npm run lint
npm run format

🛠️ 可用工具

1. ask_question - 智能问答

根据用户问题提供最匹配的智慧答案。

参数:

  • question (必需) - 用户问题
  • category (可选) - 问题类别 (general, love, career, decision, life, motivation, wisdom)
  • language (可选) - 语言偏好 (zh-CN, en-US, ja-JP)
  • mood (可选) - 情感偏好 (encouraging, calming, inspiring, practical)

示例:

{
  "question": "我应该换工作吗?",
  "category": "career",
  "language": "zh-CN"
}

2. random_answer - 随机智慧

获取随机的智慧答案和人生感悟。

参数:

  • category (可选) - 答案类别
  • mood (可选) - 情感倾向
  • length (可选) - 答案长度 (short, medium, long)
  • language (可选) - 语言偏好

3. get_advice - 决策建议

基于具体情况提供个性化的决策建议。

参数:

  • situation (必需) - 具体情况描述
  • options (可选) - 可选方案列表
  • priority (可选) - 优先考虑因素
  • timeline (可选) - 决策时间框架
  • language (可选) - 语言偏好

4. save_question - 保存反馈

保存用户问题、答案和反馈信息。

参数:

  • question (必需) - 用户问题
  • answer (必需) - 提供的答案
  • rating (可选) - 评分 (1-5)
  • feedback (可选) - 用户反馈
  • language (可选) - 语言

5. get_history - 历史记录

查询和管理用户的问答历史。

参数:

  • limit (可选) - 返回记录数量
  • offset (可选) - 偏移量
  • category (可选) - 类别筛选
  • date_from / date_to (可选) - 日期范围
  • search (可选) - 搜索关键词
  • sort_by (可选) - 排序字段
  • include_feedback (可选) - 是否包含反馈

📁 项目结构

答案之书/
├── src/                    # 源代码目录
│   ├── index.js           # 主入口文件
│   ├── server.js          # 服务器核心逻辑
│   ├── tools/             # MCP 工具实现
│   │   ├── ask-question.js
│   │   ├── get-advice.js
│   │   ├── random-answer.js
│   │   ├── save-question.js
│   │   └── get-history.js
│   ├── services/          # 业务服务
│   │   └── matcher.js     # 智能匹配服务
│   └── utils/             # 工具函数
│       ├── logger.js      # 日志管理
│       ├── storage.js     # 数据存储
│       └── validator.js   # 数据验证
├── data/                  # 数据文件
│   ├── answers.json       # 答案数据库
│   └── history.json       # 历史记录
├── config/                # 配置文件
│   └── config.json        # 主配置
├── tests/                 # 测试文件
├── logs/                  # 日志文件
└── package.json           # 项目配置

⚙️ 配置说明

主要配置文件位于 config/config.json,包含:

  • 服务器设置 - 名称、版本、历史记录限制等
  • 匹配参数 - 置信度阈值、权重配置等
  • NLP 配置 - 语言检测、情感分析等
  • 安全设置 - 输入验证、内容过滤等
  • 性能设置 - 缓存、批处理等
  • 日志配置 - 日志级别、文件管理等

📊 数据管理

答案数据库

data/answers.json 包含预设的智慧答案,支持:

  • 多类别分类 (通用、爱情、职业、决策、生活、动机、智慧)
  • 多语言内容 (中文、英文、日文)
  • 情感标签 (鼓励、平静、启发、实用)
  • 使用统计和评分

历史记录

data/history.json 存储用户交互历史,包括:

  • 问答记录
  • 用户反馈
  • 使用统计
  • 性能指标

🔧 开发指南

添加新工具

  1. src/tools/ 目录创建新工具文件
  2. 继承 BaseTool
  3. 实现必需的方法
  4. server.js 中注册工具

扩展答案数据

  1. 编辑 data/answers.json
  2. 遵循现有数据结构
  3. 添加适当的标签和分类
  4. 重启服务器加载新数据

自定义匹配算法

修改 src/services/matcher.js 中的匹配逻辑:

  • 调整权重配置
  • 添加新的匹配因子
  • 优化语义分析

📈 监控和日志

日志文件

  • logs/combined.log - 综合日志
  • logs/error.log - 错误日志
  • logs/exceptions.log - 异常日志
  • logs/rejections.log - Promise 拒绝日志

性能监控

  • 工具调用统计
  • 响应时间监控
  • 内存使用情况
  • 缓存命中率

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

📄 许可证

MIT License

🆘 支持

如有问题或建议,请:

  1. 查看日志文件排查问题
  2. 检查配置文件设置
  3. 运行测试验证功能
  4. 提交 Issue 或 Pull Request

答案之书 - 让智慧触手可及 ✨