内容
# ASTRA统一研究实验室 + MCP服务器
**自主感知思维推理代理**
[](LICENSE)
[](https://github.com/christophejlegros-lgtm/ASTRA-Unified-ResearchLab-MCP-v2.4/actions)
[](https://modelcontextprotocol.io/specification/2025-11-25)
[](https://modelcontextprotocol.io)
[](https://nodejs.org)
[](https://typescriptlang.org)
生产级别的[模型上下文协议](https://modelcontextprotocol.io)服务器,暴露ASTRA生物混合神经形态仿真管道给AI助手。 使用官方的`@modelcontextprotocol/sdk`构建,集成了分层SNN LIF+STDP引擎、意识代理评估、生物计算平台遥测和IRB伦理监测器 — 所有这些都可以通过MCP工具、资源和提示进行查询,支持**Claude Desktop**、**Cursor**、**VS Code**和任何MCP兼容的客户端。
## 🆕 v2.4 — 二阶(自我证明)环路
ASTRA v2.4添加了**二阶环路**:更新器官所需的双环路架构(Legros 2026,§3.2)。 v2.2产生了**自我证明**的信号(世界模型惊讶),但没有观察和纠正系统自身的预测能力层。 v2.4作为`the_consciousness_ai`的本地TypeScript端口提供它:
- **元学习速度** (`MetaLearningModule`) — 来自RPE方差动态的收敛与新颖性
- **好奇心 / 内在奖励** (`RNDCuriosity`) — EFE认知价值(探索)项
- **能力模型** (`DirectExperienceLearner`) — 动作 → 预期效价代理图
- **元意识** 和 **发展跟踪** — 随时间推移的二阶自我监测
6种新的MCP工具(`tcai_second_order`、`tcai_meta_learning`、`tcai_capability_model`、`tcai_curiosity`、`tcai_metaconsciousness`、`tcai_development`)。 提供了一个可选的Python桥接器,作为Friston-exact `pymdp`的对应实现。参见 **[SECOND-ORDER-LOOP-INTEGRATION.md](SECOND-ORDER-LOOP-INTEGRATION.md)**。
## 🆕 v2.2 — `the_consciousness_ai` (ACM)集成
ASTRA v2.2集成了 **[tlcdv/the_consciousness_ai](https://github.com/tlcdv/the_consciousness_ai)** — 人工意识模块研究代码库 — 在两个级别:
- **本地TypeScript端口** (`src/engine/tcai/`):具有sigmoid点火和回声、Kuramoto/AKOrN振荡绑定、PAD情感处理和奖励塑造、注意力门控情感记忆、自我表示核心 + 注意力模式,以及指标套件(GNW · 有效信息 · Φ̃-RIIU)— 所有这些都从SNN/世界模型状态中实时馈送,并作为 **8种新的MCP工具** (`tcai_cycle`、`tcai_workspace_state`、`tcai_emotion_appraise`、`tcai_memory_store`、`tcai_memory_retrieve`、`tcai_self_model`、`tcai_metrics`、`tcai_reset`)公开。
- **完整的Python代码库** (`python/the_consciousness_ai/`,215个文件):完整的上游ACM项目,用于参考和基于PyTorch的重现。
参见 **[TCAI-INTEGRATION.md](TCAI-INTEGRATION.md)** 以获取完整的Python → TypeScript映射和架构耦合。 所有与意识相关的指标仍然是**计算代理**,而非测量值。
## 🆕 v2.2 — FinalSpark NeuroPlatform v2集成
ASTRA v2.2还集成了 **[FinalSpark NeuroPlatform v2](https://finalspark-np.github.io/np-docs/np_core/doc_v2.html)** 湿件控制API — 封闭环路接口到活体神经类器官在一个128电极MEA — 在两个级别:
- **本地TypeScript端口 + 生物物理模拟器** (`src/engine/neuroplatform.ts`):NeuroPlatform控制器表面的忠实端口 (`StimParam`具有电荷平衡检查、`IntanController`、`TriggerController`、`DatabaseController`、`CameraController`) 以 **9种新的MCP工具** (`np_status`、`np_configure_stim`、`np_send_trigger`、`np_count_spikes`、`np_query_spike_count`、`np_query_spike_events`、`np_query_triggers`、`np_camera_capture`、`np_closed_loop`) 为后盾。
- **实时Python桥接器** (`python/neuroplatform/astra_np_bridge.py`):通过真实的`neuroplatformv2`SDK与物理平台运行闭环,通过JSON-RPC将耦合流式传输到ASTRA。
参见 **[NEUROPLATFORM-INTEGRATION.md](NEUROPLATFORM-INTEGRATION.md)** 以获取完整的API → TypeScript映射。 无需硬件连接,服务器在 **模拟模式** (确定性生物物理模型)下运行,**非**活体组织测量。
```
FinalSpark (800K neurons) ──┐
Cortical Labs CL1 ──────────┼─→ Spike Encoders → SNN (LIF+STDP, 128 neurons) → ACM Proxies
Koniku Kore ────────────────┘ │ │
│ ┌─────┴─────┐
│ │ Φ̃ GW̃ PAD̃ │
│ └─────┬─────┘
├─→ TCAI/ACM Layer (GNW · AKOrN · PAD · Φ̃-RIIU · EI)
├─→ NeuroPlatform v2 Bridge (MEA ↔ SNN · StimParam · closed loop)
├─→ Ethics IRB Monitor (mode-aware)
└─→ MCP Server (48 tools · 11 resources · 8 prompts)
```
> **数据模式说明:** 默认情况下,服务器运行在`sim`模式下,所有生物平台数据都是合成生成的。 服务器设计用于在`live`模式下连接到实时平台,但这需要硬件访问和适当的IRB批准。
---
## v2新增功能
- **分层SNN架构:** 可配置的前馈 + 递归拓扑(默认为32→64→16→16 = 128个神经元),取代扁平随机网络
- **事件驱动的STDP:** O(spikes × fan-out) 而非 O(N²) 每时间步
- **环形缓冲区:** O(1) 突触历史淘汰取代 O(n) `Array.shift()`
- **稀疏权重存储:** 邻接列表而非密集N×N矩阵
- **诚实的ACM命名:** 代理明确标记为 `integrationProxy`、`broadcastProxy`、`arousalProxy`,并带有方法论基础字符串 — 无虚假IIT/GWT/PAD声明
- **边界检查参数:** `set_parameter` 拒绝不可行的值(NaN、无穷大、超出范围)
- **模式感知伦理:** 报告区分模拟和实时数据,并带有明确的免责声明
- **CI流水线:** GitHub Actions用于构建、测试和Docker烟雾测试
- **存储库卫生:** `.gitignore` 已添加,部署脚本已删除
---
## 快速开始
```bash
git clone https://github.com/christophejlegros-lgtm/ASTRA-Unified-ResearchLab-MCP-v2.4.git
cd ASTRA-Unified-ResearchLab-MCP-v2.4
# 安装和构建
npm install
npm run build
# 运行(stdio — 用于Claude Desktop / Cursor)
node dist/index.js
# 或开发模式(无需构建)
npm run dev
```
## 传输
| 传输 | 命令 | 端口 | 客户端 |
|---|---|---|---|
| **stdio** | `node dist/index.js` | — | Claude Desktop, Cursor, VS Code |
| **SSE** | `node dist/sse-server.js` | 9002 | Web客户端,远程代理 |
| **Streamable HTTP** | `node dist/http-server.js` | 9003 | 现代MCP客户端(规范2025-11-25) |
---
## 客户端配置
### Claude Desktop
编辑 `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)或 `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"astra": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": { "ASTRA_LOG_LEVEL": "info" }
}
}
}
```
### Cursor
添加至 `.cursor/mcp.json` (项目)或 `~/.cursor/mcp.json` (全局):
```json
{
"mcpServers": {
"astra": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"]
}
}
}
```
### VS Code
添加至 `.vscode/settings.json`:
```json
{
"mcp": {
"servers": {
"astra": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"]
}
}
}
}
```
### Docker(远程SSE + HTTP)
```bash
docker compose up -d
# SSE: http://host:9002/sse
# HTTP: http://host:9003/mcp
```
---
## MCP工具(41)
所有工具都声明 [MCP注释](https://modelcontextprotocol.io/specification/2025-11-25/server/tools) (readOnlyHint、destructiveHint、idempotentHint、openWorldHint)和人类可读的标题。 核心工具如下; 参见 [TCAI-INTEGRATION.md](TCAI-INTEGRATION.md) 获取 8 个 `tcai_*` 工具和 [NEUROPLATFORM-INTEGRATION.md](NEUROPLATFORM-INTEGRATION.md) 获取 9 个 `np_*` 工具。
| 工具 | 标题 | 注释 |
|---|---|---|
| `get_system_status` | ASTRA系统状态 | 📖 只读 |
| `get_metrics` | 实时指标 | 📖 只读 |
| `get_snn_state` | SNN引擎状态 | 📖 只读 |
| `snn_step` | 进步SNN模拟 | ✏️ 变更 |
| `snn_reset` | 重置SNN引擎 | ⚠️ 销毁 |
| `inject_spikes` | 突触注入 | ✏️ 变更 |
| `get_acm_score` | 意识评估(代理) | 📖 只读 |
| `check_ethics` | IRB神经福利检查 | 📖 只读 |
| `set_parameter` | 修改状态参数 | ⚠️ 销毁,边界检查 |
| `get_platform_status` | 生物计算平台 | 📖 只读 · 🌐 开放世界 |
| `export_snapshot` | 完整状态快照 | 📖 只读 |
| `simulation_control` | 模拟控制 | ✏️ 变更 |
| `tcai_*` (8) | ACM意识循环、工作空间、情绪、记忆、自我模型、指标、重置 | 混合 — 参见TCAI指南 |
| `np_*` (9) | NeuroPlatform v2: 状态、刺激配置、触发器、突触查询、相机、闭环 | 混合 — 参见NeuroPlatform指南 |
## MCP资源(10)
| URI | 描述 |
|---|---|
| `astra://metrics/realtime` | 来自所有子系统的实时指标 |
| `astra://snn/topology` | **实际** 网络架构(反映引擎配置) |
| `astra://acm/state` | 当前意识代理评估向量 |
| `astra://ethics/welfare` | IRB合规和福利报告(模式感知) |
| `astra://snapshot/current` | 完整状态转储 |
| `astra://tcai/state` | TCAI/ACM工作空间、情绪、自我模型&指标 |
| `astra://neuroplatform/state` | NeuroPlatform桥接器状态(MEA活动、活力、耦合) |
## MCP提示(7)
预构建的工作流模板,编排多工具序列:
| 提示 | 描述 |
|---|---|
| `system-health-report` | 协调多个工具成为一个全面的系统报告 |
| `snn-experiment` | 受控SNN实验:重置 → 刺激 → 观察STDP → 评估代理 |
| `ethics-stress-test` | 进步生物标志物降解:NORMAL → STRESS → DISTRESS → 恢复 |
| `tcai-consciousness-cycle` | 导向ACM循环:专家 → 绑定 → 点火 → 广播 → 质地 → 指标 |
| `neuroplatform-experiment` | 导向闭环协议:读取MEA → 配置电荷平衡刺激 → 触发器 → 观察 |
---
## 架构
```
.github/workflows/
└── ci.yml # GitHub Actions: 构建、测试、Docker烟雾测试
src/
├── index.ts # stdio传输入口点
├── sse-server.ts # SSE传输(Express)
├── http-server.ts # Streamable HTTP传输(Express)
├── server.ts # MCP服务器工厂(48工具 + 8提示 + 11资源)
│ ├── server-wm-tools.ts | 世界模型JEPA工具(6工具 + 2资源 + 1提示)│
│ ├── server-sensor-tools.ts # 多模态传感器工具(6工具 + 1资源 + 1提示)│
│ ├── server-tcai-tools.ts | TCAI/ACM工具(15工具 + 2资源 + 2提示)│
│ ├── server-neuroplatform-tools.ts | NeuroPlatform v2工具(9工具 + 1资源 + 1提示)│
├── engine/
│ ├── state.ts # 反应状态存储 + 参数边界注册表
│ ├── snn.ts # 分层SNN LIF+STDP引擎(映射索引稀疏权重,事件驱动)│
│ ├── acm.ts # 意识代理模块(Φ̃ + GW̃ + PAD̃)│
│ ├── ethics.ts # IRB伦理监测器(模式感知,生物标志物阈值)│
│ ├── world-model.ts # JEPA世界模型引擎(LeWM适配)│
│ ├── wm-simulation.ts # 世界模型模拟管理器(重放缓冲区,自动训练)│
│ ├── multimodal-sensors.ts # V-JEPA 2 + A-JEPA + Koniku + 融合│
│ ├── neuroplatform.ts # FinalSpark NeuroPlatform v2端口 + OrganoidMEA模拟器│
│ └── simulation.ts # 后台定时循环
└── utils/
└── logger.ts # 结构化日志(pino → stderr)
tests/
├── astra.test.ts # 单元测试:state、bounds、SNN、ACM、ethics、security
├── world-model.test.ts # 世界模型:encoder、predictor、SIGReg、cem、surprise
├── wm-simulation.test.ts # 世界模型模拟:buffer、training、planning、lifecycle
├── multimodal-sensors.test.ts # 传感器:V-JEPA、A-JEPA、Koniku、fusion、pipeline
├── tcai.test.ts # TCAI/ACM:binding、GNW、memory、emotion、self-model、metrics
├── neuroplatform.test.ts # NeuroPlatform:StimParam、OrganoidMEA、controllers、bridge
└── integration.test.ts # 客户端SDK集成:tools、resources、prompts、workflow
configs/ # 已准备好可用的客户端配置
```
> **提取到单独的仓库:** v1 HTML仪表板(4,669行)和遗留Node.js桥接配置已从此仓库中删除,以保持其专注于MCP服务器。参见 [ASTRA-Unified-ResearchLab-MCP-](https://github.com/christophejlegros-lgtm/ASTRA-Unified-ResearchLab-MCP-) 获取原始仪表板。
### SNN引擎
**分层LIF+STDP** — 可配置的分层架构。默认为32(输入)→ 64(隐藏_1)→ 16(隐藏_2)→ 16(输出)= **128个神经元**。
连接性:相邻层之间的前馈(30%)+ 层内稀疏循环(10%)。权重存储为稀疏邻接列表,而不是密集矩阵。
生物物理参数:τ_m = 20ms,V_th = −50mV,V_reset = −70mV,refractory = 2ms。背景噪声范围[10, 22] mV在稳态下产生~2 spikes/step,所有神经元都处于活动状态。STDP:A+ = 0.01,A− = 0.012,τ± = 20ms,事件驱动(仅处理每个时间步的尖峰神经元)。
SNN拓扑资源(`astra://snn/topology`)动态报告**实际**引擎配置,包括层大小、突触计数、连接参数和权重存储类型(基于映射的稀疏邻接列表)。
### ACM — 意识代理模块
> ⚠ **方法论声明:** 下面的指标是**计算代理**,灵感来自引用的理论。它们不是**忠实实现**。参见源代码注释以获取完整详细信息。
复合分数:`ACM = α·Φ̃ + β·GW̃ + γ·PAD̃` (默认:α=0.40,β=0.35,γ=0.25)
| 组件 | 基础 | 灵感来源 | 实际测量 |
|---|---|---|---|
| `integrationProxy` (Φ̃) | 活跃分数 + 平均发放率 + 突触异质性 | IIT (Tononi) | 网络参与度和复杂度代理。真正的Φ是NP-hard的。 |
| `broadcastProxy` (GW̃) | 跨层发放率同步(基于CV) | GWT (Baars) | 层间均匀激活。不模拟竞争联盟或点火。 |
| `arousalProxy` (PAD̃) | 发放率 + 生物耦合 + 能量 | PAD (Mehrabian) | 仅唤醒维度。快乐和支配性不计算。 |
### 伦理IRB监测器
IRB合规级别 **N3** (100K–1M个神经元)。四个生物标志物具有三态分类。
**模式感知:** 在`sim`模式下,报告包括明确的免责声明,表明数据是合成的,并且`irbRequired`为`false`。在`live`模式下,DISTRESS触发强制IRB通知。
| 生物标志物 | 正常 | 应激 | 临界 |
|---|---|---|---|
| 细胞活力 | ≥ 90% | 80–90% | < 80% |
| 发放率 | 15–45 Hz | 范围外 | ≤ 5 或 ≥ 60 Hz |
| ATP/ADP | ≥ 3.0 | 2.0–3.0 | < 2.0 |
| 钙 | < 100 nM | 100–200 nM | ≥ 200 nM |
### 参数边界
`set_parameter`工具根据边界注册表验证所有数字输入,以防止注入荒谬的值(负百分比、无穷大、NaN)。边界按参数路径定义 — 参见 `src/engine/state.ts` 获取完整注册表。
---
## 测试
```bash
# 完整套件
npm test
# 单元测试
node --import tsx --test tests/astra.test.ts
# 集成测试(客户端SDK)
node --import tsx --test tests/integration.test.ts
# TCAI / NeuroPlatform 套件
npm run test:tcai
npm run test:np
# MCP Inspector
npm run inspect
```
> **完整套件:204/204 通过** (188 先前 + 16 二阶环路),0 TypeScript 错误(严格,Node16 ESM)。
## 开发
```bash
npm run dev # stdio(无需构建)
npm run dev:sse # SSE 在 :9002
npm run dev:http # HTTP 在 :9003
npm run watch # TypeScript 监视模式
```
## 环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| `ASTRA_LOG_LEVEL` | `info` | debug, info, warn, error |
| `ASTRA_SSE_PORT` | `9002` | SSE 传输端口 |
| `ASTRA_HTTP_PORT` | `9003` | Streamable HTTP 端口 |
| `ASTRA_CORS_ORIGIN` | `*` | CORS 允许的来源 |
---
## 扩展说明
默认的128神经元配置旨在进行交互式演示。要扩展到理想的256→512→256→128(1,152个神经元)架构:
1. 将自定义层传递给 `SNNEngine`:`new SNNEngine({ layers: [{ name: 'input', size: 256 }, ...] })`
2. 事件驱动的STDP按O(spikes × 平均扇出)缩放,而不是O(N²)
3. 映射索引的邻接列表提供每个突触的O(1)权重查找
4. 稀疏存储使内存与实际突触成比例(~18 KB at 128 neurons vs 64 KB dense)
5. 考虑为更大的网络增加`intervalMs`模拟循环
6. 对于>10K个神经元,建议使用Rust/WASM或Lava SDK后端
---
## 许可证
MIT — © 2026 Christophe Jean Legros, Geneva
**辅助多IA** · [Assistant-Multi-AI@proton.me](mailto:Assistant-Multi-AI@proton.me)
## 参考
- [模型上下文协议](https://modelcontextprotocol.io) · [规范 2025-11-25](https://modelcontextprotocol.io/specification/2025-11-25)
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [FinalSpark](https://finalspark.com) · [Cortical Labs](https://corticallabs.com) · [Koniku](https://koniku.com)
- [Intel Lava / Loihi 2](https://lava-nc.org)
- [Gerstner & Kistler (2002) "Spiking Neuron Models"](https://www.cambridge.org)
- [Tononi (2004) "An information integration theory of consciousness"](https://academic.oup.com/bmcneurosci/article/5/1/42/1198532) — *BMC Neuroscience*
- [Baars (1988) "A Cognitive Theory of Consciousness"](https://www.cambridge.org) — Cambridge University Press
- [Mehrabian (1996) "Pleasure-Arousal-Dominance: A General Framework"](https://onlinelibrary.wiley.com) — *Current Psychology*
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器