Lspace Server
L

Lspace Server

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

安裝

複製以下命令到你的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 文件。

替代品

R
Rsdoctor
Rsdoctor 是一款專為 Rspack 生態系統打造的構建分析工具,全面兼容 webpack,提供可視化構建分析、多維度性能診斷及智能優化建議,幫助開發者提升構建效率與工程質量。
TypeScript
8.4K
5分
N
Next Devtools MCP
Next.js開發工具MCP服務器,為Claude、Cursor等AI編程助手提供Next.js開發工具和實用程序,包括運行時診斷、開發自動化和文檔訪問功能。
TypeScript
10.1K
5分
T
Testkube
Testkube是一個面向雲原生應用的測試編排與執行框架,提供統一平臺來定義、運行和分析測試,支持現有測試工具和Kubernetes基礎設施。
Go
5.6K
5分
M
MCP Windbg
一個MCP服務器,將AI模型與WinDbg/CDB集成,用於分析Windows崩潰轉儲文件和進行遠程調試,支持自然語言交互執行調試命令。
Python
9.2K
5分
R
Runno
Runno是一個JavaScript工具包集合,用於在瀏覽器和Node.js等環境中安全地運行多種編程語言的代碼,通過WebAssembly和WASI實現沙盒化執行,支持Python、Ruby、JavaScript、SQLite、C/C++等語言,並提供Web組件、MCP服務器等集成方式。
TypeScript
8.6K
5分
N
Netdata
Netdata是一個開源即時基礎設施監控平臺,提供每秒級指標收集、可視化、機器學習驅動的異常檢測和自動化告警,無需複雜配置即可實現全棧監控。
Go
10.2K
5分
M
MCP Server
Mapbox MCP服務器是一個Node.js實現的模型上下文協議服務器,為AI應用提供Mapbox地理空間API的訪問能力,包括地理編碼、興趣點搜索、路線規劃、等時線分析和靜態地圖生成等功能。
TypeScript
8.2K
4分
U
Uniprof
uniprof是一個簡化CPU性能分析的工具,支持多種編程語言和運行時,無需修改代碼或添加依賴,可通過Docker容器或主機模式進行一鍵式性能剖析和熱點分析。
TypeScript
8.4K
4.5分
M
Markdownify MCP
Markdownify是一個多功能文件轉換服務,支持將PDF、圖片、音頻等多種格式及網頁內容轉換為Markdown格式。
TypeScript
28.3K
5分
B
Baidu Map
已認證
百度地圖MCP Server是國內首個兼容MCP協議的地圖服務,提供地理編碼、路線規劃等10個標準化API接口,支持Python和Typescript快速接入,賦能智能體實現地圖相關功能。
Python
36.3K
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一個集成Firecrawl網頁抓取能力的模型上下文協議服務器,提供豐富的網頁抓取、搜索和內容提取功能。
TypeScript
106.5K
5分
S
Sequential Thinking MCP Server
一個基於MCP協議的結構化思維服務器,通過定義思考階段幫助分解複雜問題並生成總結
Python
29.8K
4.5分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一個通過MCP協議快速部署HTML內容到EdgeOne Pages並獲取公開URL的服務
TypeScript
22.3K
4.8分
C
Context7
Context7 MCP是一個為AI編程助手提供即時、版本特定文檔和代碼示例的服務,通過Model Context Protocol直接集成到提示中,解決LLM使用過時信息的問題。
TypeScript
71.5K
4.7分
M
Magic MCP
Magic Component Platform (MCP) 是一個AI驅動的UI組件生成工具,通過自然語言描述幫助開發者快速創建現代化UI組件,支持多種IDE集成。
JavaScript
18.9K
5分
N
Notion Api MCP
已認證
一個基於Python的MCP服務器,通過Notion API提供高級待辦事項管理和內容組織功能,實現AI模型與Notion的無縫集成。
Python
16.8K
4.5分
AIBase
智啟未來,您的人工智慧解決方案智庫
© 2026AIBase