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

linker-meeting-mcp

v0.1.0

Published

MCP server for Linker internal meeting minutes and reports - daily minutes and semantic search

Downloads

139

Readme

linker-meeting-mcp

内部会议纪要和报告 MCP 服务,提供长短期记忆结合的查询能力。


系统架构

┌─────────────────────────────────────────────────────────────────┐
│                    内部文档源                                      │
│   智能纪要:宏观早8点 / ai团队早会 / ai团队周会 / 品种周报等        │
└──────────────────────────┬──────────────────────────────────────┘
                           │ 飞书上传 / 自动同步
                           ▼
┌─────────────────────────────────────────────────────────────────┐
│              linker_dmp.linker_third_file                        │
│  file_title / file_url (COS) / file_type / upload_time          │
│  智能纪要:ai团队早会 2026年4月29日.docx                          │
└──────────────────────────┬──────────────────────────────────────┘
                           │
              ┌────────────┴────────────┐
              │                         │
              ▼                         ▼
    短期记忆(MySQL)          长期记忆(RAGFlow)
    直查今日文件列表            两个知识库并发检索
    file_title + file_url       ├─ 内部会议 KB (3e725c1...)
                                └─ 内部报告 KB (367cb87...)
              │                         │
              └────────────┬────────────┘
                           ▼
                      MCP 工具层
                  query_meeting(主入口)
                  get_meeting_detail
                  list_meeting_types
                           │
                           ▼
                      Agent / LLM

设计理念

长短期记忆强制结合query_meeting 并发调用三个数据源,agent 单次调用即可获得:

  • 短期记忆(MySQL):今日智能纪要文件列表,含 file_url 可直接访问
  • 长期记忆(RAGFlow):
    • 内部会议 KB:历史会议纪要语义片段
    • 内部报告 KB:品种周报等报告语义片段

Agent 决策树

会议类型不确定              → list_meeting_types → 再调其他工具
需要某文件完整内容          → get_meeting_detail(传 file_url)
其他所有问题                → query_meeting

使用场景

场景一:今日早会查询

"今天ai团队早会说了什么?"

query_meeting({ "question": "ai团队早会内容", "meeting_type": "ai团队早会" })

short_term 返回今日早会文件列表;long_term 返回历史相关片段供对比。


场景二:历史会议检索

"最近宏观早8点讨论过美联储政策吗?"

query_meeting({ "question": "美联储政策", "meeting_type": "宏观早8点" })

long_term 从会议 KB 语义检索最相关片段。


场景三:品种周报查询

"丙烯最近一周的周报有什么?"

query_meeting({ "question": "丙烯周报" })

long_term 从报告 KB 检索丙烯相关周报片段。


场景四:指定日期查询

"4月28号的ai团队早会说了什么?"

query_meeting({ "question": "ai团队早会", "date": "2026-04-28", "meeting_type": "ai团队早会" })

short_term 返回该日文件;long_term 同日语义检索补充。


场景五:获取完整文件

"给我看看今天早会的完整内容"

// 先调 query_meeting 拿到 file_url
get_meeting_detail({ "file_url": "https://..." })

返回文件 URL 和类型,agent 可提示用户访问或从 long_term 获取片段。


MCP 工具参数

query_meeting(主入口)

| 参数 | 类型 | 说明 | |------|------|------| | question | string | 查询问题,同时用于语义检索 | | date | string(可选) | 指定日期 YYYY-MM-DD,不传则查今天 | | meeting_type | string(可选) | 会议类型关键词,如"宏观早8点"、"ai团队早会" | | top_k | number(可选) | 长期记忆返回片段数,默认 5 |

get_meeting_detail

| 参数 | 类型 | 说明 | |------|------|------| | file_url | string | 文件 COS URL,从 query_meeting 结果获取 | | file_type | string(可选) | 文件类型,不传自动推断 |

list_meeting_types

无参数。返回所有会议类型、最近活跃日期、文件数量。


安装

npx linker-meeting-mcp

MCP 配置

{
  "mcpServers": {
    "linker-meeting-mcp": {
      "command": "npx",
      "args": ["-y", "linker-meeting-mcp"],
      "env": {
        "MEETING_DB_HOST": "1.13.171.218",
        "MEETING_DB_PORT": "13316",
        "MEETING_DB_USER": "root",
        "MEETING_DB_PASS": "linker@2022777",
        "MEETING_DB_NAME": "linker_dmp",
        "RAGFLOW_API_BASE": "http://192.168.20.118:30080",
        "RAGFLOW_API_KEY": "ragflow-TlV2VxzljJgN11H8are6cDdugnsWk3PXWkWqrrv-_wk",
        "MEETING_KB_ID": "3e725c1900e511f1bc3b1eca8c62863f",
        "REPORT_KB_ID": "367cb87807df11f191327222bb602843"
      }
    }
  }
}

数据源

| 数据源 | 说明 | |------|------| | MySQL linker_third_file | 短期记忆,智能纪要文件元数据 | | RAGFlow 内部会议 KB | 长期记忆,会议纪要语义检索 | | RAGFlow 内部报告 KB | 长期记忆,品种周报等报告语义检索 |


场景覆盖评分

| 场景 | 支持程度 | 说明 | |------|------|------| | 今日会议查询 | ✅ 完整 | short_term 文件列表 | | 历史会议检索 | ✅ 完整 | RAGFlow 会议 KB | | 品种周报查询 | ✅ 完整 | RAGFlow 报告 KB | | 指定日期查询 | ✅ 完整 | date 精确过滤 | | 会议类型发现 | ✅ 完整 | list_meeting_types | | 长短期结合 | ✅ 强制 | query_meeting 并发三源 | | 完整文件内容 | ⚠️ 部分 | 返回 file_url,需外部访问或从 RAGFlow 获取片段 |

综合评分:8.5/10

扣分项:

  • 完整文件内容需外部访问,未在 MCP 内解析 docx/pdf(-1.5)