MCP ExplorerExplorer

Graphlit MCP Server

@graphliton 9 months ago
302 MIT
FreeOfficial
Knowledge Base
#mcp#graphlit#retrieval#extraction#ingestion#web#notifications
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. This document outlines the setup process and provides a basic example of using the client.

Overview

What is Graphlit MCP Server

The Model Context Protocol (MCP) Server is a tool that facilitates integration between MCP clients and the Graphlit platform, allowing users to consolidate various data sources into a searchable knowledge base. It processes different formats, including documents and media, and transforms them into accessible Markdown or transcribed text.

Use cases

The MCP Server can ingest data from multiple platforms such as Slack, Discord, Google Drive, and email, making it valuable for teams in software development and product management. It serves as a repository for relevant knowledge, assisting in tasks like search and retrieval of information across diverse tools and platforms.

How to use

To set up the MCP Server, users need Node.js and a Graphlit account. After configuring environment variables for authentication, the server can be installed through various IDEs or executed directly using NPX, with the necessary configurations specifying organization ID, environment ID, and JWT secret.

Key features

Key features include ingestion of various content types (e.g., files, messages), built-in web crawling and search capabilities, and publishing functionalities. Additionally, it supports multiple data connectors for popular applications and tools, enhancing its versatility for project integration.

Where to use

The Graphlit MCP Server can be employed in any MCP client application, such as Cursor, Windsurf, Cline, or integrated within team collaboration tools. It’s suitable for environments needing a central knowledge base, particularly in software development and management contexts, enabling access to information from various sources.

Content

npm version
smithery badge

Model Context Protocol (MCP) Server for Graphlit Platform

Overview

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. This document outlines the setup process and provides a basic example of using the client.

Ingest anything from Slack, Discord, websites, Google Drive, email, Jira, Linear or GitHub into a Graphlit project - and then search and retrieve relevant knowledge within an MCP client like Cursor, Windsurf, Goose or Cline.

Your Graphlit project acts as a searchable, and RAG-ready knowledge base across all your developer and product management tools.

Documents (PDF, DOCX, PPTX, etc.) and HTML web pages will be extracted to Markdown upon ingestion. Audio and video files will be transcribed upon ingestion.

Web crawling and web search are built-in as MCP tools, with no need to integrate other tools like Firecrawl, Exa, etc. separately.

You can read more about the MCP Server use cases and features on our blog.

Watch our latest YouTube video on using the Graphlit MCP Server with the Goose MCP client.

For any questions on using the MCP Server, please join our Discord community and post on the #mcp channel.

graphlit-mcp-server MCP server

Tools

Retrieval

  • Query Contents
  • Query Collections
  • Query Feeds
  • Query Conversations
  • Retrieve Relevant Sources
  • Retrieve Similar Images
  • Visually Describe Image

RAG

  • Prompt LLM Conversation

Extraction

  • Extract Structured JSON from Text

Publishing

  • Publish as Audio (ElevenLabs Audio)
  • Publish as Image (OpenAI Image Generation)

Ingestion

  • Files
  • Web Pages
  • Messages
  • Posts
  • Emails
  • Issues
  • Text
  • Memory (Short-Term)

Data Connectors

  • Microsoft Outlook email
  • 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 Crawling
  • Web Search (including Podcast Search)
  • Web Mapping
  • Screenshot Page

Notifications

  • Slack
  • Email
  • Webhook
  • Twitter/X

Operations

  • Configure Project
  • Create Collection
  • Add Contents to Collection
  • Remove Contents from Collection
  • Delete Collection(s)
  • Delete Feed(s)
  • Delete Content(s)
  • Delete Conversation(s)
  • Is Feed Done?
  • Is Content Done?

Enumerations

  • List Slack Channels
  • List Microsoft Teams Teams
  • List Microsoft Teams Channels
  • List SharePoint Libraries
  • List SharePoint Folders
  • List Linear Projects
  • List Notion Databases

Resources

  • Project
  • Contents
  • Feeds
  • Collections (of Content)
  • Workflows
  • Conversations
  • Specifications

Prerequisites

Before you begin, ensure you have the following:

  • Node.js installed on your system (recommended version 18.x or higher).
  • An active account on the Graphlit Platform with access to the API settings dashboard.

Configuration

The Graphlit MCP Server supports environment variables to be set for authentication and configuration:

  • GRAPHLIT_ENVIRONMENT_ID: Your environment ID.
  • GRAPHLIT_ORGANIZATION_ID: Your organization ID.
  • GRAPHLIT_JWT_SECRET: Your JWT secret for signing the JWT token.

You can find these values in the API settings dashboard on the Graphlit Platform.

Installation

Installing via VS Code

For quick installation, use one of the one-click install buttons below:

Install with NPX in VS Code Install with NPX in VS Code Insiders

For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

Note that the mcp key is not needed in the .vscode/mcp.json file.

{
  "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}"
        }
      }
    }
  }
}

Installing via Windsurf

To install graphlit-mcp-server in Windsurf IDE application, Cline should use NPX:

npx -y graphlit-mcp-server

Your mcp_config.json file should be configured similar to:

{
    "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",
            }
        }
    }
}

Installing via Cline

To install graphlit-mcp-server in Cline IDE application, Cline should use NPX:

npx -y graphlit-mcp-server

Your cline_mcp_settings.json file should be configured similar to:

{
    "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",
            }
        }
    }
}

Installing via Cursor

To install graphlit-mcp-server in Cursor IDE application, Cursor should use NPX:

npx -y graphlit-mcp-server

Your mcp.json file should be configured similar to:

{
    "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",
            }
        }
    }
}

Installing via Smithery

To install graphlit-mcp-server for Claude Desktop automatically via Smithery:

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

Installing manually

To use the Graphlit MCP Server in any MCP client application, use:

{
    "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",
            }
        }
    }
}

Optionally, you can configure the credentials for data connectors, such as Slack, Google Email and Notion.
Only GRAPHLIT_ORGANIZATION_ID, GRAPHLIT_ENVIRONMENT_ID and GRAPHLIT_JWT_SECRET are required.

{
    "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"
            }
        }
    }
}

NOTE: when running ‘npx’ on Windows, you may need to explicitly call npx via the command prompt.

"command": "C:\\Windows\\System32\\cmd.exe /c npx"

Support

Please refer to the Graphlit API Documentation.

For support with the Graphlit MCP Server, please submit a GitHub Issue.

For further support with the Graphlit Platform, please join our Discord community.

Tools

configureProject
Configures the default content workflow for the Graphlit project. Only needed if user asks to configure the default workflow. Optionally accepts whether to enable high-quality document and web page preparation using a vision LLM. Defaults to using Azure AI Document Intelligence for document preparation, if not assigned. Optionally accepts whether to enable entity extraction using LLM into the knowledge graph. Defaults to no entity extraction, if not assigned. Optionally accepts the preferred model provider service type, i.e. Anthropic, OpenAI, Google. Defaults to Anthropic if not provided. Returns the project identifier.
askGraphlit
Ask questions about the Graphlit API or SDKs. Can create code samples for any API call. Accepts an LLM user prompt for code generation. Returns the LLM prompt completion in Markdown format.
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 an LLM user prompt for content retrieval. For best retrieval quality, provide only key words or phrases from the user prompt, which will be used to create text embeddings for a vector search query. Only use when there is a valid LLM user prompt for content retrieval, otherwise use queryContents. For example 'recent content' is not a useful user prompt, since it doesn't reference the text in the content. Accepts an optional ingestion recency filter (defaults to null, meaning all time), and optional content type and file type filters. Also accepts optional feed and collection identifiers to filter content by. Returns the ranked content sources, including their content resource URI to retrieve the complete Markdown text.
retrieveImages
Retrieve images from Graphlit knowledge base. Provides image-specific retrieval when image similarity search is desired. Do *not* use for retrieving content by content identifier - retrieve content resource instead, with URI 'contents://{id}'. Accepts image URL. Image will be used for similarity search using image embeddings. Accepts optional geo-location filter for search by latitude, longitude and optional distance radius. Images taken with GPS enabled are searchable by geo-location. Also accepts optional recency filter (defaults to null, meaning all time), and optional feed and collection identifiers to filter images by. Returns the matching images, 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
1 / 10

Comments

Recommend MCP Servers

View All MCP Servers