向量记忆MCP服务器

Aleph-10是一个结合天气数据服务和向量记忆存储的MCP服务器,提供天气信息检索和语义记忆管理功能。

  • by bjkemp
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 bjkemp/aleph-10

使用说明

Aleph-10:矢量内存MCP服务器

Aleph-10是一个模型上下文协议(MCP)服务器,它将天气数据服务与基于向量的内存存储相结合。该项目提供了通过向量嵌入检索天气信息和管理语义记忆的工具。

特性

  • 天气信息:使用美国国家气象局API获取天气警报和预报
  • 矢量存储器:使用语义搜索存储和检索信息
  • 多种嵌入选项:支持基于云的(Google Gemini)和本地(Ollama)嵌入提供商
  • 元数据支持:添加元数据并按元数据过滤,以实现高效的内存管理

入门指南

先决条件

  • Node.js 18.x或更高版本
  • pnpm包管理器

安装

  1. 克隆存储库
git clone https://github.com/yourusername/aleph-10.git
cd aleph-10
  1. 安装依赖项
pnpm install
  1. 配置环境变量(创建 .env 项目根目录中的文件)
EMBEDDING_PROVIDER=gemini
GEMINI_API_KEY=your_gemini_api_key
VECTOR_DB_PATH=./data/vector_db
LOG_LEVEL=info
  1. 构建项目
pnpm build
  1. 运行服务器
node build/index.js

用法

服务器实现了模型上下文协议,并提供了以下工具:

天气工具

  • 获取警报:获取美国特定州的天气警报

    • 参数: state (两个字母的州代码)
  • 获取预报:获取某个地点的天气预报

    • 参数: latitude 和 longitude

内存工具

  • 存储器:将信息存储在矢量数据库中

    • 参数: text (要存储的内容), metadata (可选关联数据)
  • 内存检索:查找语义相似的信息

    • 参数: query (搜索文本), limit (最大结果), filters (元数据过滤器)
  • 内存更新:更新现有内存条目

    • 参数: id (存储器ID), text (新内容), metadata (更新的元数据)
  • 内存删除:从数据库中删除条目

    • 参数: id (要删除的内存ID)
  • 内存统计信息:获取有关内存存储的统计信息

    • 参数:无

配置

可以配置以下环境变量:

变量 描述 默认值
EMBEDDING_PROVIDER 矢量嵌入提供程序(gemini 或 ollama) gemini
GEMINI_API_KEY Google Gemini的API密钥 -
OLLAMA_BASE_URL Ollama API的基本URL http://localhost:11434
VECTOR_DB_PATH 矢量数据库的存储位置 ./data/vector_db
LOG_LEVEL 记录冗长 info

发展

项目结构

该项目采用模块化结构:

aleph-10/
├── src/                         # Source code
│   ├── index.ts                 # Main application entry point
│   ├── weather/                 # Weather service module
│   ├── memory/                  # Memory management module
│   ├── utils/                   # Shared utilities
│   └── types/                   # TypeScript type definitions
├── tests/                       # Test files
└── vitest.config.ts             # Vitest configuration

运行测试

该项目使用Vitest进行测试。使用以下工具运行测试:

# Run tests once
pnpm test

# Run tests in watch mode during development
pnpm test:watch

# Run tests with UI (optional)
pnpm test:ui

建筑

pnpm build

许可证

该项目根据ISC许可证获得许可。

致谢