Lspace Server
L

Lspace Server

Lspace是一個開源API後端和服務器,實現了模型上下文協議(MCP),幫助開發者將AI會話中的見解轉化為可搜索的持久知識庫,並集成到各種工具中。
2.5分
4.0K

安裝

複製以下命令到你的Client進行配置
注意:您的密鑰屬於敏感信息,請勿與任何人分享。

🚀 Lspace API與MCP服務器

Lspace可消除上下文切換的摩擦,讓你從任何AI會話中捕獲見解,並立即在所有工具中使用這些見解,將分散的對話轉化為持久、可搜索的知識。

🚀 快速開始

本指南將幫助你設置Lspace服務器,並將其配置為與Model Context Protocol(MCP)客戶端(如Cursor或Claude Desktop)一起使用。

A. 前提條件

  1. Node.js:建議使用LTS版本(包含npm)。可從 nodejs.org 下載。
  2. npm:隨Node.js一同安裝。
  3. Git:可從 git-scm.com 下載。

B. 克隆、安裝並構建Lspace服務器 這些步驟將準備好Lspace服務器代碼,以便MCP客戶端執行。

  1. 克隆Lspace服務器倉庫:
git clone https://github.com/Lspace-io/lspace-server.git
  1. 進入目錄:
cd lspace-server
  1. 安裝依賴項:
npm install
  1. 構建項目(將TypeScript編譯為JavaScript並存儲在 dist/ 文件夾中):
npm run build

構建完成後,MCP服務器的主腳本將是該目錄根目錄下的 lspace-mcp-server.js

C. 配置你的Lspace服務器 在MCP客戶端使用Lspace之前,你需要對Lspace進行配置:

  1. 環境變量(.env 文件)
    • 複製示例環境文件:
cp .env.example .env
- 編輯新的 `.env` 文件。
- **至關重要的是,設置你的 `OPENAI_API_KEY`**。
- 根據需要查看並調整其他變量(請參閱 `.env.example` 中的註釋)。
  1. Lspace倉庫和憑證(config.local.json 文件)
    • 此文件告訴Lspace要管理哪些倉庫,並提供憑證(如GitHub PAT)。它不會提交到Git。
    • 複製示例配置文件:
cp config.example.json config.local.json
- 編輯 `config.local.json`:
    - 在 `credentials.github_pats` 下添加你的GitHub PAT。如果你需要有關創建PAT的詳細說明,請參閱下面的 [瞭解Lspace的GitHub個人訪問令牌(PAT)](#瞭解lspace的github個人訪問令牌pats) 部分。
    - 在 `repositories` 數組中定義Lspace應管理的本地或GitHub倉庫。
    - 有關詳細結構和示例,請參閱“手動管理倉庫(`config.local.json`)”部分。

D. 在MCP客戶端中配置Lspace lspace-mcp-server.js 腳本(位於你的 lspace-server 目錄中)是MCP客戶端將執行的腳本。你需要告訴MCP客戶端如何找到並運行此腳本。

⚠️ 重要提示

在以下客戶端配置中,將 /actual/absolute/path/to/your/lspace-server/ 替換為你克隆並構建 lspace-server 的目錄的實際絕對文件路徑。

  1. Cursor Cursor可以通過JSON文件進行配置。你可以按項目或全局進行設置:
    • 項目配置:在項目的根目錄下創建一個 .cursor/mcp.json 文件。
    • 全局配置:在用戶主目錄下創建一個 ~/.cursor/mcp.json 文件。

Cursor的示例 mcp.json 文件:

{
  "mcpServers": {
    "lspace-knowledge-base": { // 你可以在此處選擇任何名稱
      "command": "node",
      "args": ["/actual/absolute/path/to/your/lspace-server/lspace-mcp-server.js"],
      "env": {
        // lspace-server目錄中的.env文件應會自動被拾取。
        // 僅當你需要為Cursor專門覆蓋這些環境變量,或者未找到.env文件時,才在此處添加環境變量。
        // "OPENAI_API_KEY": "your_openai_key_if_not_in_lspace_env"
      }
    }
  }
}
- 請記住替換 `args` 中的佔位符路徑。
- 創建或修改此配置後,重新啟動Cursor。
  1. Claude Desktop Claude Desktop使用一箇中央JSON配置文件:
    • macOS~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows%APPDATA%\\Claude\\claude_desktop_config.json

如果此文件不存在,當你轉到“設置”>“開發者”>“編輯配置”時,Claude Desktop可能會創建它。

示例 claude_desktop_config.json 內容:

{
  "mcpServers": {
    "lspace": { // 你可以在此處選擇任何名稱
      "command": "node",
      "args": ["/actual/absolute/path/to/your/lspace-server/lspace-mcp-server.js"]
      // "env": { ... } // 與Cursor類似的環境變量考慮因素
    }
  }
}
- 確保你替換了 `args` 中的佔位符路徑。
- 保存對此文件的更改後,重新啟動Claude Desktop。

配置完MCP客戶端後,它應該能夠啟動並與你的Lspace服務器進行通信,從而允許你在客戶端中使用Lspace工具並訪問已配置的知識庫。

瞭解Lspace的GitHub個人訪問令牌(PATs)

Lspace需要GitHub個人訪問令牌(PATs)來代表你與GitHub倉庫進行交互。這包括克隆倉庫、讀取內容,以及重要的是,通過提交和推送更改來寫入新內容(例如,生成的知識庫文章、處理後的原始輸入)。

為什麼需要PATs? PATs是一種安全的方式,可在不需要你密碼的情況下授予Lspace訪問你的GitHub賬戶的權限。你可以控制授予每個PAT的權限(範圍),並隨時撤銷它們。

為Lspace創建GitHub PAT

  1. 轉到你的GitHub 開發者設置
  2. 點擊“個人訪問令牌”,然後點擊“令牌(經典)”。為了獲得更精細的控制,你可以探索“細粒度令牌”,但“令牌(經典)”通常更適合此類應用。
  3. 點擊“生成新令牌”(然後點擊“生成新令牌(經典)”)。
  4. 為你的令牌提供一個描述性名稱,例如 “lspace-server-access”。
  5. 設置令牌的過期時間。
  6. 選擇範圍:為了讓Lspace完全管理你的倉庫,包括讀取、寫入、提交和推送,你必須選擇 repo 範圍。此範圍授予對公共和私有倉庫的完全控制權。 GitHub PAT repo scope (說明性圖像鏈接,實際界面可能會有所不同)
  7. 點擊“生成令牌”。
  8. 重要提示:立即複製生成的令牌。你將無法再次查看它。請安全存儲。

在Lspace中使用PATs(config.local.json 在你的 config.local.json 文件中,你將在 credentials.github_pats 部分為你的PAT定義一個 alias,然後在GitHub倉庫配置中引用此 pat_alias。有關更多詳細信息,請參閱“手動管理倉庫(config.local.json)”部分。

config.local.json 中的示例 credentials 塊:

{
  "credentials": {
    "github_pats": [
      {
        "alias": "my_lspace_pat",
        "token": "ghp_YOUR_COPIED_GITHUB_TOKEN_HERE"
      }
      // 如果需要,你可以添加更多具有不同別名的PAT
    ]
  },
  // ... 你的倉庫配置的其餘部分 ...
}

✨ 主要特性

  • 可自託管服務:用於git操作、搜索和大語言模型集成。
  • Lspace MCP服務器:通過 lspace-mcp-server.js 實現Model Context Protocol(MCP),允許AI代理和其他工具以編程方式與Lspace功能進行交互。(有關MCP的更多信息,請參閱 modelcontextprotocol.io)。
  • 多倉庫管理:支持多個git提供商(本地、GitHub)。
  • AI編排:用於自動文檔分類、組織和總結。
  • 知識庫生成:用於創建類似維基百科的倉庫內容綜合。
  • 雙結構倉庫:包含原始文檔和綜合知識庫。
  • 時間線跟蹤:用於文檔操作。
  • 可擴展架構:用於自定義集成。

倉庫結構

Lspace採用雙結構倉庫架構:

  1. 原始文檔存儲(/.lspace/raw_inputs/
    • 用戶上傳的原始文檔或通過MCP服務器/API攝取的文檔。
    • AI輔助分類和組織。
    • 元數據增強和結構化格式化。
    • 操作記錄在 /.lspace/timeline.json 中。
  2. 知識庫綜合(倉庫根目錄)
    • 從原始文檔生成的類似維基百科的AI結構。
    • 一個入口頁面(通常是倉庫根目錄中的 README.md)提供概述。
    • 綜合多個文檔信息的主題頁面。
    • 交叉引用和指向源文檔的鏈接。

配置詳情

除了快速開始部分,以下是更多配置細節:

Lspace配置文件(config.local.json

此文件對於定義倉庫連接(本地路徑、GitHub倉庫詳細信息)和憑證(如GitHub PATs)至關重要。 有關其結構,請參閱“手動管理倉庫(config.local.json)”部分。

大語言模型提示配置

指導大語言模型進行文檔處理和知識庫生成的提示集中在 src/config/prompts.ts 中。修改這些提示可自定義AI行為。

運行完整的API服務器(可選)

如果你除了MCP服務器之外還需要RESTful API端點(例如,用於Web應用程序集成或直接HTTP調用),或者用其替代MCP服務器:

  1. 確保你的 .envconfig.local.json 已按上述說明進行設置。
  2. 構建項目:npm run build
  3. 運行開發服務器:
npm run dev
  1. 或者,進行生產部署:
npm start

這些腳本通常會啟動 src/index.ts 中定義的完整應用程序,其中可能包括REST API和MCP功能。lspace-mcp-server.js 腳本是專門為僅進行MCP交互而優化的入口點。

手動管理倉庫(config.local.json

你可以通過直接編輯本地的 config.local.json 文件來管理Lspace連接的倉庫。此文件不會提交到版本控制(它在 .gitignore 中)。倉庫中提供了一個示例模板 config.example.json

⚠️ 重要提示

始終在 config.local.json 中進行更改。

文件的基本結構包括一個 credentials 列表(用於GitHub等服務)和一個 repositories 列表。

{
  "credentials": {
    "github_pats": [
      {
        "alias": "your_github_pat_alias",
        "token": "ghp_yourgithubpersonalaccesstoken"
      }
    ]
  },
  "repositories": [
    {
      "name": "My Local Project",
      "type": "local",
      "path": "/path/to/your/local/git/repository",
      "path_to_kb": ".",
      "id": "your_unique_id_for_this_repo"
    },
    {
      "name": "My Awesome GitHub Project",
      "type": "github",
      "owner": "your-github-username-or-org",
      "repo": "your-repository-name",
      "branch": "main",
      "pat_alias": "your_github_pat_alias",
      "path_to_kb": ".",
      "id": "another_unique_id"
    }
  ]
}

添加本地倉庫

  1. 確保倉庫是有效的Git倉庫。
  2. config.local.jsonrepositories 數組中添加一個新對象(見上文示例)。
    • name:一個人類可讀的名稱。
    • type:必須為 "local"
    • path:本地Git倉庫的絕對路徑。
    • path_to_kb(可選):倉庫內知識庫根目錄的相對路徑(例如,docs/kb)。默認為 .(倉庫根目錄)。
    • id(可選):一個唯一的UUID。如果省略,將自動生成一個。

添加GitHub倉庫

  1. 確保你有一個具有 repo 範圍的GitHub個人訪問令牌(PAT)。
  2. 將你的PAT添加到 credentials.github_pats 部分(見上文示例)。
  3. repositories 數組中添加一個新對象(見上文示例)。
    • nametype"github")、ownerrepobranchpat_aliaspath_to_kbid 如上述說明。

編輯 config.local.json 後,重啟Lspace MCP服務器或API服務器以使更改生效。然後,Lspace將嘗試將新的GitHub倉庫克隆到 REPO_BASE_PATH 指定的目錄(或其默認的 cloned-github-repos)中,並使所有已配置的倉庫可用。

📄 許可證

本項目採用商業源許可證1.1(BSL 1.1)。

這通常意味著:

  • 可以自由使用、修改和自託管該軟件,用於個人項目、研究和內部非商業用途。
  • 商業使用(例如,使用此軟件提供付費服務)受到限制,需要從Robin Spottiswoode獲得單獨的商業許可證,或者使用官方的Lspace Cloud託管服務(如果可用)。
  • 每個版本從公開發布日期起一年後,該版本的軟件將自動轉換為Apache許可證2.0,這是一個寬鬆的開源許可證。

有關完整的許可證文本,請參閱倉庫中的 LICENSE 文件。

替代品

M
MCP
微軟官方MCP服務器,為AI助手提供最新微軟技術文檔的搜索和獲取功能
9.3K
5分
A
Aderyn
Aderyn是一個開源的Solidity智能合約靜態分析工具,由Rust編寫,幫助開發者和安全研究人員發現Solidity代碼中的漏洞。它支持Foundry和Hardhat項目,可生成多種格式報告,並提供VSCode擴展。
Rust
5.1K
5分
D
Devtools Debugger MCP
Node.js調試器MCP服務器,提供基於Chrome DevTools協議的完整調試功能,包括斷點設置、單步執行、變量檢查和表達式評估等
TypeScript
5.5K
4分
S
Scrapling
Scrapling是一個自適應網頁抓取庫,能自動學習網站變化並重新定位元素,支持多種抓取方式和AI集成,提供高性能解析和開發者友好體驗。
Python
8.1K
5分
M
Mcpjungle
MCPJungle是一個自託管的MCP網關,用於集中管理和代理多個MCP服務器,為AI代理提供統一的工具訪問接口。
Go
0
4.5分
C
Cipher
Cipher是一個專為編程AI代理設計的開源記憶層框架,通過MCP協議與各種IDE和AI編碼助手集成,提供自動記憶生成、團隊記憶共享和雙系統記憶管理等核心功能。
TypeScript
0
5分
N
Nexus
Nexus是一個AI工具聚合網關,支持連接多個MCP服務器和LLM提供商,通過統一端點提供工具搜索、執行和模型路由功能,支持安全認證和速率限制。
Rust
0
4分
S
Shadcn Ui MCP Server
一個為AI工作流提供shadcn/ui組件集成的MCP服務器,支持React、Svelte和Vue框架,包含組件源碼、示例和元數據訪問功能。
TypeScript
11.2K
5分
M
Markdownify MCP
Markdownify是一個多功能文件轉換服務,支持將PDF、圖片、音頻等多種格式及網頁內容轉換為Markdown格式。
TypeScript
20.9K
5分
B
Baidu Map
已認證
百度地圖MCP Server是國內首個兼容MCP協議的地圖服務,提供地理編碼、路線規劃等10個標準化API接口,支持Python和Typescript快速接入,賦能智能體實現地圖相關功能。
Python
27.0K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一個集成Firecrawl網頁抓取能力的模型上下文協議服務器,提供豐富的網頁抓取、搜索和內容提取功能。
TypeScript
67.6K
5分
S
Sequential Thinking MCP Server
一個基於MCP協議的結構化思維服務器,通過定義思考階段幫助分解複雜問題並生成總結
Python
22.2K
4.5分
M
Magic MCP
Magic Component Platform (MCP) 是一個AI驅動的UI組件生成工具,通過自然語言描述幫助開發者快速創建現代化UI組件,支持多種IDE集成。
JavaScript
15.6K
5分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一個通過MCP協議快速部署HTML內容到EdgeOne Pages並獲取公開URL的服務
TypeScript
15.6K
4.8分
C
Context7
Context7 MCP是一個為AI編程助手提供即時、版本特定文檔和代碼示例的服務,通過Model Context Protocol直接集成到提示中,解決LLM使用過時信息的問題。
TypeScript
45.7K
4.7分
N
Notion Api MCP
已認證
一個基於Python的MCP服務器,通過Notion API提供高級待辦事項管理和內容組織功能,實現AI模型與Notion的無縫集成。
Python
12.5K
4.5分
AIBase
智啟未來,您的人工智慧解決方案智庫
© 2025AIBase