Token导航 LogoToken导航TokenDH.com
MCP Feature Store logo
数据服务未说明官方级别未说明来源级核验

MCP Feature Store

MCP Server

Synthesis是一个为个人用户和中小型企业设计的AI特征存储服务,提供向量搜索、图查询和REST API等功能。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
图数据库Go向量搜索Go语言

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

prismon

提供方

prismon

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

合成-MCP功能库

Synthesis是AI系统的一种工具,它充当 中枢神经系统 适用于个人用户和中小型公司。此实现是作为 Go中的MCP服务器 由...支持 PostgreSQL 具有矢量和图形功能。

特性

  • MCP服务器:内置 github.com/mark3labs/mcp-go 用于AI代理集成
  • PostgreSQL后端:增强了用于嵌入的pgvector和用于图查询的Apache AGE
  • 领域模型:支持租户、库、笔记本、功能、类型、产品和工具
  • 矢量搜索:使用pgvector的语义搜索功能
  • 图形查询:使用Apache AGE进行关系遍历
  • REST API:用于非MCP客户端的传统HTTP API
  • Docker支持:使用docker compose实现完全容器化

建筑

synthesis/
├── cmd/
│   ├── synthesis-mcp/     # MCP server (stdio transport)
│   └── synthesis-api/     # REST API server
├── internal/
│   ├── config/            # Configuration management
│   ├── domain/            # Domain models (Tenant, Library, Notebook, etc.)
│   ├── postgres/          # Database layer (repositories, migrations)
│   ├── mcp/               # MCP server implementation
│   └── rest/              # REST API handlers
├── db/
│   └── migrations/        # SQL migration scripts
├── deployments/
│   ├── Dockerfile.postgres  # PostgreSQL with pgvector + AGE
│   └── init-extensions.sql  # Extension initialization
├── Dockerfile             # Application Dockerfile
└── docker-compose.yml     # Local development stack

技术栈

  • 语言:转到1.22
  • MCP库:github/mark3labs/mcp-go
  • 数据库:PostgreSQL 16

- pgvector:向量嵌入和相似性搜索 - Apache AGE:图形数据库功能

  • HTTP框架:大猩猩Mux
  • 授权(计划中):OIDC+OPA

快速开始

先决条件

  • Docker和Docker Compose
  • Go 1.22+(用于当地发展)

使用Docker Compose(推荐)

  1. 克隆存储库:
   git clone 
   cd mcp-feature-store
  1. 启动堆栈:
   docker-compose up -d

这将开始:

- 带有pgvector和Apache AGE的PostgreSQL(端口5432) - 综合MCP服务器(stdio传输) - 合成REST API(端口8080) - 开放策略代理(端口8181)

  1. 检查日志:
   docker-compose logs -f synthesis-api
   docker-compose logs -f synthesis-mcp
  1. 测试REST API:
   curl http://localhost:8080/health

在当地建设

  1. 安装依赖项:
   go mod download
  1. 生成二进制文件:
   go build -o bin/synthesis-mcp ./cmd/synthesis-mcp
   go build -o bin/synthesis-api ./cmd/synthesis-api
  1. 启动PostgreSQL (使用docker):
   docker-compose up -d postgres
  1. 运行服务器:
   # Terminal 1 - MCP Server
   export DATABASE_URL="postgres://synthesis:synthesis_dev_password@localhost:5432/synthesis?sslmode=disable"
   ./bin/synthesis-mcp

   # Terminal 2 - REST API
   export DATABASE_URL="postgres://synthesis:synthesis_dev_password@localhost:5432/synthesis?sslmode=disable"
   ./bin/synthesis-api

配置

配置是通过环境变量完成的:

数据库

  • DATABASE_URL:PostgreSQL连接字符串
  • DB_MAX_OPEN_CONNS:最大打开连接数(默认值:25)
  • DB_MAX_IDLE_CONNS:最大空闲连接数(默认值:5)
  • DB_CONN_MAX_LIFETIME:连接最大生存期(秒)(默认值:300)

MCP服务器

  • MCP_HTTP_PORT:MCP服务器的HTTP端口(默认值:8081)
  • LOG_LEVEL:日志级别(默认值:info)

REST API

  • API_PORT:REST API端口(默认值:8080)
  • WS_PORT:WebSocket端口(默认值:8082)

安全(计划)

  • OIDC_ISSUER_URL:OIDC发行人URL
  • OIDC_CLIENT_ID:OIDC客户端ID
  • OPA_URL:OPA服务器URL(默认值:http://localhost:8181)

领域模型

租户

具有所有者、显示名称、标签和版本控制的顶级组织单位。

图书馆

租户内部笔记本的收集。

笔记本

主要可编辑元素,包括:

  • Markdown内容
  • 分层内容块(文本、图像等)
  • 状态跟踪(草案,已批准)
  • 通知

特性

与资源相关的衍生数据:

  • 文本、JSON、图像、结构化值
  • TTL支持
  • 资源关联

类型定义

包含呈现器、编辑器和约束的内容类型定义。

产品

与租户相关的商业产品。

工具

外部工具/集成配置。

MCP工具

MCP服务器公开了以下工具:

租户工具

  • create_tenant:创建新租户
  • get_tenant:检索租户信息

库工具

  • create_library:在租户中创建库

笔记本工具

  • create_notebook:在库中创建笔记本
  • append_content_block:将内容块添加到笔记本

搜索工具

  • semantic_search_notebooks:基于向量的语义搜索
  • graph_query_resources:基于图形的关系查询

REST API端点

租户

  • GET /api/v1/tenants -列出所有租户
  • POST /api/v1/tenants -创建租户
  • GET /api/v1/tenants/:id -按ID获取租户
  • PUT /api/v1/tenants/:id -更新租户
  • DELETE /api/v1/tenants/:id -删除租户

图书馆

  • GET /api/v1/libraries/by-tenant/:tenantId -列出库
  • POST /api/v1/libraries/by-tenant/:tenantId -创建库
  • GET /api/v1/libraries/:id -获取库
  • PUT /api/v1/libraries/:id -更新库
  • DELETE /api/v1/libraries/:id -删除库

笔记本

  • GET /api/v1/notebooks/by-library/:libraryId -列出笔记本
  • POST /api/v1/notebooks/by-library/:libraryId -创建笔记本
  • GET /api/v1/notebooks/:id -获取笔记本
  • PUT /api/v1/notebooks/:id -更新笔记本
  • DELETE /api/v1/notebooks/:id -删除笔记本

健康

  • GET /health -健康检查端点

数据库模式

数据库包括:

  • 所有域实体的核心关系表
  • 语义搜索的向量嵌入表
  • 使用Apache AGE进行关系查询的图结构
  • 用于快速URI解析的资源索引
  • 图形同步的自动触发器

db/migrations/ 以获取完整的模式定义。

发展

运行测试

go test ./...

数据库迁移

启动时会自动应用迁移。迁移文件位于 db/migrations/:

  • 001_create_schema.sql -核心关系模式
  • 002_create_graph_schema.sql -Apache AGE图形设置
  • 003_seed_data.sql -测试样本数据

添加新工具

  1. 在中创建工具定义 internal/mcp/tools_*.go:
   func myNewTool() mcp.Tool {
       return mcp.Tool{
           Name: "my_new_tool",
           Description: "Description of the tool",
           InputSchema: mcp.ToolInputSchema{
               // Schema definition
           },
       }
   }
  1. 机具处理程序:
   func (s *Server) handleMyNewTool(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
       // Implementation
   }
  1. 注册 server.go:
   s.mcpServer.AddTool(myNewTool(), s.handleMyNewTool)

路线图

  • \[\]完成OIDC身份验证集成
  • \[\]完整的OPA授权政策
  • \[\]WebSocket支持实时更新
  • \[\]嵌入语义搜索服务集成
  • \[\]增强的图形查询功能
  • \[\]MCP资源模板
  • \[\]可流式HTTP传输
  • \[\]外部MCP服务器的插件架构
  • \[\]综合测试套件
  • \[\]性能优化

许可证

有关详细信息,请参阅LICENSE文件。

贡献

欢迎投稿!请参阅CONTRIBUTING.md了解指南。

支持

有关问题和疑问,请使用GitHub问题跟踪器。

目录标签

目录标签

图数据库Go向量搜索Go语言AI特征存储本地部署PostgreSQL

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP