graphlit-mcp-server

graphlit-mcp-server
官方
精选

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

知识与记忆
通信
TypeScript
访问服务器

Tools

retrieveSources

Retrieve relevant content sources from Graphlit knowledge base. Do *not* use for retrieving content by content identifier - retrieve content resource instead, with URI 'contents://{id}'. Accepts a search prompt, optional recency filter (defaults to all time), and optional content type and file type filters. Also accepts optional feed and collection identifiers to filter content by. Prompt should be optimized for vector search, via text embeddings. Rewrite prompt as appropriate for higher relevance to search results. Returns the ranked content sources, including their content resource URI to retrieve the complete Markdown text.

extractText

Extracts JSON data from text using LLM. Accepts text to be extracted, and JSON schema which describes the data which will be extracted. JSON schema needs be of type 'object' and include 'properties' and 'required' fields. Optionally accepts text prompt which is provided to LLM to guide data extraction. Defaults to 'Extract data using the tools provided'. Returns extracted JSON from text.

createCollection

Create a collection. Accepts a collection name, and optional list of content identifiers to add to collection. Returns the collection identifier

addContentsToCollection

Add contents to a collection. Accepts a collection identifier and a list of content identifiers to add to collection. Returns the collection identifier.

removeContentsFromCollection

Remove contents from collection. Accepts a collection identifier and a list of content identifiers to remove from collection. Returns the collection identifier.

deleteCollection

Delete a collection. Does *not* delete the content in the collection. Accepts a collection identifier. Returns the collection identifier and collection state, i.e. Deleted.

deleteFeed

Delete a feed and all of its ingested content. Accepts a feed identifier which was returned from one of the ingestion tools, like ingestGoogleDriveFiles. Content deletion will happen asynchronously. Returns the feed identifier and feed state, i.e. Deleted.

deleteContent

Delete content. Accepts a content identifier. Returns the content identifier and content state, i.e. Deleted.

deleteContents

Deletes contents from Graphlit knowledge base. Accepts optional content type and file type filters to limit the contents which will be deleted. Also accepts optional limit of how many contents to delete, defaults to 1000. Returns the content identifiers and content state, i.e. Deleted.

deleteFeeds

Deletes feeds from Graphlit knowledge base. Accepts optional feed type filter to limit the feeds which will be deleted. Also accepts optional limit of how many feeds to delete, defaults to 100. Returns the feed identifiers and feed state, i.e. Deleted.

isContentDone

Check if content has completed asynchronous ingestion. Accepts a content identifier which was returned from one of the non-feed ingestion tools, like ingestUrl. Returns whether the content is done or not.

isFeedDone

Check if an asynchronous feed has completed ingesting all the available content. Accepts a feed identifier which was returned from one of the ingestion tools, like ingestGoogleDriveFiles. Returns whether the feed is done or not.

listMicrosoftTeamsTeams

Lists available Microsoft Teams teams. Returns a list of Microsoft Teams teams, where the team identifier can be used with listMicrosoftTeamsChannels to enumerate Microsoft Teams channels.

listMicrosoftTeamsChannels

Lists available Microsoft Teams channels. Returns a list of Microsoft Teams channels, where the channel identifier can be used with ingestMicrosoftTeamsMessages to ingest messages into Graphlit knowledge base.

listSlackChannels

Lists available Slack channels. Returns a list of Slack channels, where the channel name can be used with ingestSlackMessages to ingest messages into Graphlit knowledge base.

listSharePointLibraries

Lists available SharePoint libraries. Returns a list of SharePoint libraries, where the selected libraryId can be used with listSharePointFolders to enumerate SharePoint folders in a library.

listSharePointFolders

Lists available SharePoint folders. Returns a list of SharePoint folders, which can be used with ingestSharePointFiles to ingest files into Graphlit knowledge base.

ingestMicrosoftEmail

Ingests emails from Microsoft Email account into Graphlit knowledge base. Accepts an optional read limit for the number of emails to ingest. Executes asynchronously and returns the feed identifier.

ingestSharePointFiles

Ingests files from SharePoint library into Graphlit knowledge base. Accepts a SharePoint libraryId and an optional folderId to ingest files from a specific SharePoint folder. Libraries can be enumerated with listSharePointLibraries and library folders with listSharePointFolders. Accepts an optional read limit for the number of files to ingest. Executes asynchronously and returns the feed identifier.

ingestOneDriveFiles

Ingests files from OneDrive folder into Graphlit knowledge base. Accepts an optional read limit for the number of files to ingest. Executes asynchronously and returns the feed identifier.

ingestGoogleDriveFiles

Ingests files from Google Drive folder into Graphlit knowledge base. Accepts an optional read limit for the number of files to ingest. Executes asynchronously and returns the feed identifier.

ingestDropboxFiles

Ingests files from Dropbox folder into Graphlit knowledge base. Accepts optional relative path to Dropbox folder (i.e. /Pictures), and an optional read limit for the number of files to ingest. If no path provided, ingests files from root Dropbox folder. Executes asynchronously and returns the feed identifier.

ingestBoxFiles

Ingests files from Box folder into Graphlit knowledge base. Accepts optional Box folder identifier, and an optional read limit for the number of files to ingest. If no folder identifier provided, ingests files from root Box folder (i.e. "0"). Folder identifier can be inferred from Box URL. https://app.box.com/folder/123456 -> folder identifier is "123456". Executes asynchronously and returns the feed identifier.

ingestGitHubFiles

Ingests files from GitHub repository into Graphlit knowledge base. Accepts GitHub repository owner and repository name and an optional read limit for the number of files to ingest. For example, for GitHub repository (https://github.com/openai/tiktoken), 'openai' is the repository owner, and 'tiktoken' is the repository name. Executes asynchronously and returns the feed identifier.

ingestNotionPages

Ingests pages from Notion database into Graphlit knowledge base. Accepts an optional read limit for the number of messages to ingest. Executes asynchronously and returns the feed identifier.

ingestUrl

Ingests content from URL into Graphlit knowledge base. Can scrape web pages, and can ingest individual Word documents, PDFs, audio recordings, videos, images, or any other unstructured data. Executes asynchronously and returns the content identifier.

ingestMicrosoftTeamsMessages

Ingests messages from Microsoft Teams channel into Graphlit knowledge base. Accepts Microsoft Teams team identifier and channel identifier, and an optional read limit for the number of messages to ingest. Executes asynchronously and returns the feed identifier.

ingestSlackMessages

Ingests messages from Slack channel into Graphlit knowledge base. Accepts Slack channel name and an optional read limit for the number of messages to ingest. Executes asynchronously and returns the feed identifier.

ingestDiscordMessages

Ingests messages from Discord channel into Graphlit knowledge base. Accepts Discord channel name and an optional read limit for the number of messages to ingest. Executes asynchronously and returns the feed identifier.

ingestRedditPosts

Ingests posts from Reddit subreddit into Graphlit knowledge base. Accepts a subreddit name and an optional read limit for the number of posts to ingest. Executes asynchronously and returns the feed identifier.

ingestGoogleEmail

Ingests emails from Google Email account into Graphlit knowledge base. Accepts an optional read limit for the number of emails to ingest. Executes asynchronously and returns the feed identifier.

ingestLinearIssues

Ingests issues from Linear project into Graphlit knowledge base. Accepts Linear project name and an optional read limit for the number of issues to ingest. Executes asynchronously and returns the feed identifier.

ingestGitHubIssues

Ingests issues from GitHub repository into Graphlit knowledge base. Accepts GitHub repository owner and repository name and an optional read limit for the number of issues to ingest. For example, for GitHub repository (https://github.com/openai/tiktoken), 'openai' is the repository owner, and 'tiktoken' is the repository name. Executes asynchronously and returns the feed identifier.

ingestJiraIssues

Ingests issues from Atlassian Jira repository into Graphlit knowledge base. Accepts Atlassian Jira server URL and project name, and an optional read limit for the number of issues to ingest. Executes asynchronously and returns the feed identifier.

webCrawl

Crawls web pages from web site into Graphlit knowledge base. Accepts a URL and an optional read limit for the number of pages to crawl. Uses sitemap.xml to discover pages to be crawled from website. Executes asynchronously and returns the feed identifier.

webMap

Enumerates the web pages at or beneath the provided URL using web sitemap. Does *not* ingest web pages into Graphlit knowledge base. Accepts web page URL as string. Returns list of mapped URIs from web site.

webSearch

Performs web search based on search query. Format the search query as what would be entered into a Google search. Prefer calling this tool over using 'curl' directly for any web search. Does *not* ingest pages into Graphlit knowledge base. Accepts search query as string, and optional search service type. Can search for web pages, podcasts, videos, images, news, or shopping. Search service types: Tavily, Exa. Defaults to Tavily. Returns URL, title and relevant Markdown text from resulting web pages.

ingestRSS

Ingests posts from RSS feed into Graphlit knowledge base. For podcast RSS feeds, audio will be downloaded, transcribed and ingested into Graphlit knowledge base. Accepts RSS URL and an optional read limit for the number of posts to read. Executes asynchronously and returns the feed identifier.

ingestText

Ingests text as content into Graphlit knowledge base. Accepts a name for the content object, the text itself, and an optional text type (Plain, Markdown, Html). Defaults to Markdown text type. Can use for storing long-term textual memories or the output from LLM or other tools as content resources, which can be later searched or retrieved. Executes *synchronously* and returns the content identifier.

ingestFile

Ingests local file into Graphlit knowledge base. Accepts the path to the file in the local filesystem. Executes asynchronously and returns the content identifier.

screenshotPage

Screenshots web page from URL. Executes asynchronously and returns the content identifier.

describeImage

Prompts vision LLM and returns completion. Does *not* ingest image into Graphlit knowledge base. Accepts image URL as string. Returns Markdown text from LLM completion.

describeContent

Prompts vision LLM and returns description of image content. Accepts content identifier as string, and optional prompt for image description. Returns Markdown text from LLM completion.

README

npm 版本 smithery badge

Graphlit 平台的模型上下文协议 (MCP) 服务器

概述

模型上下文协议 (MCP) 服务器实现了 MCP 客户端和 Graphlit 服务之间的集成。本文档概述了设置过程,并提供了一个使用客户端的基本示例。

将来自 Slack、Discord、网站、Google Drive、电子邮件、Jira、Linear 或 GitHub 的任何内容摄取到 Graphlit 项目中 - 然后在 Cursor、Windsurf、Goose 或 Cline 等 MCP 客户端中搜索和检索相关知识。

文档(PDF、DOCX、PPTX 等)和 HTML 网页将在摄取时提取为 Markdown 格式。

音频和视频文件将在摄取时进行转录。

Web 爬取和 Web 搜索已内置为 MCP 工具,无需单独集成 Firecrawl、Exa 等其他工具。

您可以在我们的博客上阅读有关 MCP 服务器用例和功能的更多信息。

如有任何关于使用 MCP 服务器的问题,请加入我们的 Discord 社区并在 #mcp 频道上发帖。

<a href="https://glama.ai/mcp/servers/fscrivteod"> <img width="380" height="200" src="https://glama.ai/mcp/servers/fscrivteod/badge" alt="graphlit-mcp-server MCP server" /> </a>

工具

检索

  • 查询内容
  • 查询集合
  • 查询 Feed
  • 检索相关来源
  • 检索相似图像
  • 可视化描述图像

提取

  • 从文本中提取结构化 JSON

摄取

  • 文件
  • 网页
  • 消息
  • 帖子
  • 电子邮件
  • 问题
  • 文本

数据连接器

  • Microsoft Outlook 电子邮件
  • Google Mail
  • Notion
  • Reddit
  • Linear
  • Jira
  • GitHub Issues
  • Google Drive
  • OneDrive
  • SharePoint
  • Dropbox
  • Box
  • GitHub
  • Slack
  • Microsoft Teams
  • Discord
  • Twitter/X
  • Podcasts (RSS)

Web

  • Web 爬取
  • Web 搜索(包括 Podcast 搜索)
  • Web Mapping
  • 网页截图

通知

  • Slack
  • 电子邮件
  • Webhook
  • Twitter/X

操作

  • 配置项目
  • 创建集合
  • 将内容添加到集合
  • 从集合中删除内容
  • 删除集合
  • 删除 Feed
  • 删除内容
  • Feed 完成了吗?
  • 内容完成了吗?

枚举

  • 列出 Slack 频道
  • 列出 Microsoft Teams 团队
  • 列出 Microsoft Teams 频道
  • 列出 SharePoint 库
  • 列出 SharePoint 文件夹
  • 列出 Linear 项目
  • 列出 Notion 数据库

资源

  • 项目
  • 内容
  • Feed
  • 集合(内容集合)
  • 工作流
  • 规范

前提条件

在开始之前,请确保您已具备以下条件:

  • 您的系统上已安装 Node.js(建议版本 18.x 或更高版本)。
  • Graphlit 平台 上拥有一个有效的帐户,并可以访问 API 设置仪表板。

配置

Graphlit MCP 服务器支持设置环境变量以进行身份验证和配置:

  • GRAPHLIT_ENVIRONMENT_ID:您的环境 ID。
  • GRAPHLIT_ORGANIZATION_ID:您的组织 ID。
  • GRAPHLIT_JWT_SECRET:您的 JWT 密钥,用于签署 JWT 令牌。

您可以在 Graphlit 平台 上的 API 设置仪表板中找到这些值。

安装

通过 VS Code 安装

为了快速安装,请使用以下一键安装按钮之一:

使用 NPX 在 VS Code 中安装 使用 NPX 在 VS Code Insiders 中安装

对于手动安装,请将以下 JSON 代码块添加到 VS Code 中的用户设置 (JSON) 文件中。您可以通过按 Ctrl + Shift + P 并键入 Preferences: Open User Settings (JSON) 来完成此操作。

或者,您可以将其添加到工作区中名为 .vscode/mcp.json 的文件中。这将允许您与他人共享配置。

请注意,.vscode/mcp.json 文件中不需要 mcp 键。

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "organization_id",
        "description": "Graphlit Organization ID",
        "password": true
      },
      {
        "type": "promptString",
        "id": "environment_id",
        "description": "Graphlit Environment ID",
        "password": true
      },
      {
        "type": "promptString",
        "id": "jwt_secret",
        "description": "Graphlit JWT Secret",
        "password": true
      }
    ],
    "servers": {
      "graphlit": {
        "command": "npx",
        "args": ["-y", "graphlit-mcp-server"],
        "env": {
          "GRAPHLIT_ORGANIZATION_ID": "${input:organization_id}",
          "GRAPHLIT_ENVIRONMENT_ID": "${input:environment_id}",
          "GRAPHLIT_JWT_SECRET": "${input:jwt_secret}"
        }
      }
    }
  }
}

通过 Windsurf 安装

要在 Windsurf IDE 应用程序中安装 graphlit-mcp-server,Cline 应该使用 NPX:

npx -y graphlit-mcp-server

您的 mcp_config.json 文件应配置为类似于:

{
    "mcpServers": {
        "graphlit-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "graphlit-mcp-server"
            ],
            "env": {
                "GRAPHLIT_ORGANIZATION_ID": "your-organization-id",
                "GRAPHLIT_ENVIRONMENT_ID": "your-environment-id",
                "GRAPHLIT_JWT_SECRET": "your-jwt-secret",
            }
        }
    }
}

通过 Cline 安装

要在 Cline IDE 应用程序中安装 graphlit-mcp-server,Cline 应该使用 NPX:

npx -y graphlit-mcp-server

您的 cline_mcp_settings.json 文件应配置为类似于:

{
    "mcpServers": {
        "graphlit-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "graphlit-mcp-server"
            ],
            "env": {
                "GRAPHLIT_ORGANIZATION_ID": "your-organization-id",
                "GRAPHLIT_ENVIRONMENT_ID": "your-environment-id",
                "GRAPHLIT_JWT_SECRET": "your-jwt-secret",
            }
        }
    }
}

通过 Cursor 安装

要在 Cursor IDE 应用程序中安装 graphlit-mcp-server,Cline 应该使用 NPX:

npx -y graphlit-mcp-server

您的 mcp.json 文件应配置为类似于:

{
    "mcpServers": {
        "graphlit-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "graphlit-mcp-server"
            ],
            "env": {
                "GRAPHLIT_ORGANIZATION_ID": "your-organization-id",
                "GRAPHLIT_ENVIRONMENT_ID": "your-environment-id",
                "GRAPHLIT_JWT_SECRET": "your-jwt-secret",
            }
        }
    }
}

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 graphlit-mcp-server:

npx -y @smithery/cli install @graphlit/graphlit-mcp-server --client claude

手动安装

要在任何 MCP 客户端应用程序中使用 Graphlit MCP 服务器,请使用:

{
    "mcpServers": {
        "graphlit-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "graphlit-mcp-server"
            ],
            "env": {
                "GRAPHLIT_ORGANIZATION_ID": "your-organization-id",
                "GRAPHLIT_ENVIRONMENT_ID": "your-environment-id",
                "GRAPHLIT_JWT_SECRET": "your-jwt-secret",
            }
        }
    }
}

或者,您可以配置数据连接器的凭据,例如 Slack、Google Email 和 Notion。只需要 GRAPHLIT_ORGANIZATION_ID、GRAPHLIT_ENVIRONMENT_ID 和 GRAPHLIT_JWT_SECRET。

{
    "mcpServers": {
        "graphlit-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "graphlit-mcp-server"
            ],
            "env": {
                "GRAPHLIT_ORGANIZATION_ID": "your-organization-id",
                "GRAPHLIT_ENVIRONMENT_ID": "your-environment-id",
                "GRAPHLIT_JWT_SECRET": "your-jwt-secret",
                "SLACK_BOT_TOKEN": "your-slack-bot-token",
                "DISCORD_BOT_TOKEN": "your-discord-bot-token",
                "TWITTER_TOKEN": "your-twitter-token",
                "GOOGLE_EMAIL_REFRESH_TOKEN": "your-google-refresh-token",
                "GOOGLE_EMAIL_CLIENT_ID": "your-google-client-id",
                "GOOGLE_EMAIL_CLIENT_SECRET": "your-google-client-secret",
                "LINEAR_API_KEY": "your-linear-api-key",
                "GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-pat",
                "JIRA_EMAIL": "your-jira-email",
                "JIRA_TOKEN": "your-jira-token",
                "NOTION_API_KEY": "your-notion-api-key"
            }
        }
    }
}

支持

请参阅 Graphlit API 文档

如需 Graphlit MCP 服务器的支持,请提交 GitHub Issue

如需 Graphlit 平台的进一步支持,请加入我们的 Discord 社区。

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
@kazuph/mcp-gmail-gas

@kazuph/mcp-gmail-gas

用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。

精选
JavaScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript
MCP DuckDB Knowledge Graph Memory Server

MCP DuckDB Knowledge Graph Memory Server

一个为 Claude 设计的记忆服务器,它使用 DuckDB 存储和检索知识图谱数据,从而增强了对话的性能和查询能力,并能持久保存用户信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript