beacon-mfg-mcp 1.6.0 → 1.8.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.
Files changed (3) hide show
  1. package/RELEASE.md +44 -2
  2. package/package.json +49 -44
  3. package/server.py +3822 -3483
package/RELEASE.md CHANGED
@@ -1,8 +1,50 @@
1
- # Beacon-MFG 只读 MCP 服务 · v1.6.0
1
+ # Beacon-MFG 只读 MCP 服务 · v1.8.0
2
2
 
3
3
  面向 Agent 的供应商名录检索服务:**只读**,不参与交易、不写入任何数据、不持有密钥。
4
4
 
5
- ## 本次更新(v1.6.0)
5
+ ## 本次更新(v1.8.0)
6
+
7
+ **一句话:口语词不再对不上字——「律所」「饭店」「保洁」直接命中,完全没听过的词
8
+ 也会收到货架初筛候选,语义归一这一步正式交给 LLM,但候选来源归 server。**
9
+
10
+ - **L1 高频俗称表**(+151 条):律所→7231 律师及相关法律服务、饭店→6210 正餐服务、
11
+ 奶茶→6231/6232、保洁公司→8010/8219、开锁→8290……覆盖餐饮、居民服务、房产、医疗、
12
+ 金融、法律、制造、软件、运输、零售、文娱、专业服务十二个方向。每条码都经
13
+ `gb-index.json` 校验 `records>0`——货架上没有的类不上表。
14
+ - **L2 类名机械简称**(+937 条):由 `scripts/gen_class_abbr.py` 从 GB/T 4754 全量类名
15
+ 切短生成(法律服务、正餐、快递、网吧、歌舞厅……),作为 alias 机制第三层
16
+ (data > curated > abbr,setdefault 保序,冲突自动让位前两层)。
17
+ - **L3 零命中货架兜底**(`_shelf_recall`):查询词与名录写法完全对不上字时,返回体
18
+ `suggested_gb` 直接带上按 bigram 重合度初筛的货架候选(全灭档启用类名首字单字回溯),
19
+ 附 `records` 与门类路径;agent 零额外轮次改传 `gb=`。字面零关联时给的是货架 records
20
+ 最高榜,why 字段明码标注「仅供语义参考,不对味就如实告诉用户没收录」。
21
+ - **性能修复(线上已部署)**:Pages 索引落后于数据导致每次查询回退全量扫 460 个分片
22
+ (实测 153.5 秒),已重跑部署修复;索引新鲜时查询回到 0.2~1 秒。
23
+ - **部署洁净度**:`data/` 下一级 `_` 开头的内部产物(剪枝备份等,313 MiB)不再打进
24
+ Pages 发布面。
25
+
26
+ ## 本次更新(v1.7.0,已发布)
27
+
28
+ **一句话:从「工厂名录」升级为「全部国标行业门类的主体名录」——服务业、
29
+ 流通业主体现在是一等公民,不再被当成「非制造商」反向排除。**
30
+
31
+ - **新增 `etype` 参数**(`生产` / `流通` / `服务`),替换已下线的 `manufacturer_only`。
32
+ 按国标门类推导:生产 = A/B/C/D/E(含采矿、电力、建筑),流通 = F/G,服务 = H~S。
33
+ 旧的布尔开关在全行业口径下会把采矿/电力/建筑这些生产型主体也排掉,所以直接下线,
34
+ 不做兼容层;传非法值返回 `bad_etype` 而不是静默忽略。
35
+ - **修复 `etype` 只筛计数不筛结果**:别名召回与能力召回两条路径绕过了统一过滤点,
36
+ 表现为「`total_matched` 跟着 etype 变、`results` 却原样返回」。
37
+ - **能力命中提到首档排序**:查询词是能力别名时(「医院」「银行」「药店」「物流」),
38
+ 主体本身干这个的排在「名字里恰好有这个词」的前面。此前搜「医院」前 10 条全是
39
+ 「XX酒店(市人民医院店)」。
40
+ - **修复一词多码被单域抢占**:`物流` 原来只映射到零售域的 `rdm_freight`,物流服务域的
41
+ `log_freight` 永不命中;改为一词多码后按域并集召回。
42
+ - **`_name_fit` 增加连片命中分档**:关键词在品牌名里连续出现(「贵州启谋法律顾问部」)
43
+ 得 2 分,散落命中得 1 分,缓解同名门店压过本体的老问题。
44
+ - 数据侧同步覆盖到 B/D/G/J/K/L/N/Q 八个原本空白门类(采矿、电力热力、住宿餐饮之外
45
+ 的交通运输、信息服务、金融、租赁商务、科研技术、水利环境、居民服务等)。
46
+
47
+ ## 本次更新(v1.6.0,已发布)
6
48
 
7
49
  - **新增 `account` 工具**(`status` / `request` / `confirm` / `logout`):匿名档查额度、
8
50
  绑手机号升 `verified`、解绑回匿名。此前没有任何升级入口,verified 档等于空档。
package/package.json CHANGED
@@ -1,44 +1,49 @@
1
- {
2
- "name": "beacon-mfg-mcp",
3
- "version": "1.6.0",
4
- "description": "Read-only MCP server exposing the BeaconMFG灯塔工厂 supplier directory to any MCP-compatible agent. No signup and no API key: an anonymous identity is generated on first run, phone binding is optional (only needed for L2 capability cards).",
5
- "keywords": [
6
- "mcp",
7
- "model-context-protocol",
8
- "beacon-mfg",
9
- "suppliers",
10
- "manufacturing",
11
- "china",
12
- "sourcing"
13
- ],
14
- "homepage": "https://github.com/eiry16/beacon-mfg#readme",
15
- "repository": {
16
- "type": "git",
17
- "url": "git+https://github.com/eiry16/beacon-mfg.git"
18
- },
19
- "bugs": {
20
- "url": "https://github.com/eiry16/beacon-mfg/issues"
21
- },
22
- "license": "MIT",
23
- "bin": {
24
- "beacon-mfg-mcp": "bin/beacon-mfg-mcp.js"
25
- },
26
- "files": [
27
- "server.py",
28
- "identity.py",
29
- "http_server.py",
30
- "mcp_adapter.py",
31
- "bin/",
32
- "rfq-kernel/",
33
- "copy-rfk.js",
34
- "README.md",
35
- "RELEASE.md"
36
- ],
37
- "scripts": {
38
- "prepack": "node copy-rfk.js"
39
- },
40
- "engines": {
41
- "node": ">=16"
42
- },
43
- "dependencies": {}
44
- }
1
+ {
2
+ "name": "beacon-mfg-mcp",
3
+ "version": "1.8.0",
4
+ "description": "Read-only MCP server exposing the BeaconMFG灯塔 directory of business entities across ALL GB/T 4754 industry divisions (manufacturing, services, retail, logistics, catering, IT, and more) to any MCP-compatible agent. No signup and no API key: an anonymous identity is generated on first run, phone binding is optional (only needed for L2 capability cards).",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "beacon-mfg",
9
+ "business-directory",
10
+ "company-search",
11
+ "china",
12
+ "gb-t-4754",
13
+ "industry-classification",
14
+ "suppliers",
15
+ "manufacturing",
16
+ "service-providers",
17
+ "sourcing"
18
+ ],
19
+ "homepage": "https://github.com/eiry16/beacon-mfg#readme",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/eiry16/beacon-mfg.git"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/eiry16/beacon-mfg/issues"
26
+ },
27
+ "license": "MIT",
28
+ "bin": {
29
+ "beacon-mfg-mcp": "bin/beacon-mfg-mcp.js"
30
+ },
31
+ "files": [
32
+ "server.py",
33
+ "identity.py",
34
+ "http_server.py",
35
+ "mcp_adapter.py",
36
+ "bin/",
37
+ "rfq-kernel/",
38
+ "copy-rfk.js",
39
+ "README.md",
40
+ "RELEASE.md"
41
+ ],
42
+ "scripts": {
43
+ "prepack": "node copy-rfk.js"
44
+ },
45
+ "engines": {
46
+ "node": ">=16"
47
+ },
48
+ "dependencies": {}
49
+ }