Infactory MCP Server

by infactory-io

133 downloads Not rated yet

About

Interact with Infactory APIs using Claude and other large language models.

Explore

- Project Management: List, retrieve, and create projects
- Query Programs: List and execute query programs
- Datasources: List, retrieve, and create datasources
- User & Team Management: Get current user information and list teams

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Infactory MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- An Infactory API key
- Node.js 18+ (for local installation)

- NF_API_KEY (required): Your Infactory API key
- NF_BASE_URL (optional): Custom API endpoint if using a different environment

Here is the likely location of your MCP configuration file:

Claude Desktop - Add this to your claude_desktop_config.json:
Windsurf - Add this to your ~/.codeium/windsurf/mcp_config.json:
Cursor - Add this to your ~/.cursor/mcp.json:

Add this to your MCP configuration:

{
"version": "0.1",
"mcpServers": {
"infactory-mcp": {
"command": "npx",
"args": ["-y", "@infactory/infactory-mcp"],
"env": {
"NF_API_KEY": "nf-
"
}
}
}
}

Or if you are doing development:

{
  "version": "0.1",
  "mcpServers": {
    "infactory-mcp": {
      "command": "node",
      "args": ["FULL_PATH_TO/infactory-mcp/dist/index.js"],
      "env": {
        "NF_API_KEY": "nf-*"
      }
    }
  }
}

npm install

project_id

(string): ID of the project to retrieve

name

(string): Project name

description

(string, optional): Project description

team_id

(string): Team ID

queryprogram_id

(string): ID of the query program to execute

input_data

(object, optional): Input data for the query program

datasource_id

(string): ID of the datasource

type

(string): Datasource type

organization_id

(string): ID of the organization

- list_projects: List all available projects

- No parameters required

- get_project: Get details of a specific project

- Parameters:
- project_id (string): ID of the project to retrieve

- create_project: Create a new project
- Parameters:
- name (string): Project name
- description (string, optional): Project description
- team_id (string): Team ID

- list_query_programs: List query programs in a project

- Parameters:
- project_id (string): ID of the project

- execute_query_program: Execute a query program
- Parameters:
- queryprogram_id (string): ID of the query program to execute
- input_data (object, optional): Input data for the query program

- list_datasources: List datasources in a project

- Parameters:
- project_id (string): ID of the project

- get_datasource: Get details of a specific datasource

- Parameters:
- datasource_id (string): ID of the datasource

- create_datasource: Create a new datasource
- Parameters:
- name (string): Datasource name
- project_id (string): ID of the project
- type (string): Datasource type

- get_current_user: Get information about the current user

- No parameters required

- list_teams: List teams in an organization
- Parameters:
- organization_id (string): ID of the organization

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "infactory mcp server": {
            "infactory-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@infactory/infactory-mcp"
                ]
            }
        }
    }
}

McpServers

{
    "infactory-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@infactory/infactory-mcp"
        ]
    }
}

An MCP (Model Context Protocol) server for interacting with Infactory APIs using Claude and other LLMs. This server enables language models to access and manipulate data in your Infactory environment.

Features

- Project Management: List, retrieve, and create projects
- Query Programs: List and execute query programs
- Datasources: List, retrieve, and create datasources
- User & Team Management: Get current user information and list teams

Getting Started

Prerequisites

- An Infactory API key
- Node.js 18+ (for local installation)

Installation

Using NPX (Recommended)
npx -y @infactory/infactory-mcp
Using Docker
docker run -i --rm \
  -e NF_API_KEY="your_api_key_here" \
  @infactory/infactory-mcp

Environment Variables

- NF_API_KEY (required): Your Infactory API key
- NF_BASE_URL (optional): Custom API endpoint if using a different environment

Available Tools

Project Tools

- list_projects: List all available projects

- No parameters required

- get_project: Get details of a specific project

- Parameters:
- project_id (string): ID of the project to retrieve

- create_project: Create a new project
- Parameters:
- name (string): Project name
- description (string, optional): Project description
- team_id (string): Team ID

Query Program Tools

- list_query_programs: List query programs in a project

- Parameters:
- project_id (string): ID of the project

- execute_query_program: Execute a query program
- Parameters:
- queryprogram_id (string): ID of the query program to execute
- input_data (object, optional): Input data for the query program

Datasource Tools

- list_datasources: List datasources in a project

- Parameters:
- project_id (string): ID of the project

- get_datasource: Get details of a specific datasource

- Parameters:
- datasource_id (string): ID of the datasource

- create_datasource: Create a new datasource
- Parameters:
- name (string): Datasource name
- project_id (string): ID of the project
- type (string): Datasource type

User and Team Tools

- get_current_user: Get information about the current user

- No parameters required

- list_teams: List teams in an organization
- Parameters:
- organization_id (string): ID of the organization

Usage with Claude Desktop + Windsurf + Cursor

Here is the likely location of your MCP configuration file:

Claude Desktop - Add this to your claude_desktop_config.json:
Windsurf - Add this to your ~/.codeium/windsurf/mcp_config.json:
Cursor - Add this to your ~/.cursor/mcp.json:

Add this to your MCP configuration:

{
"version": "0.1",
"mcpServers": {
"infactory-mcp": {
"command": "npx",
"args": ["-y", "@infactory/infactory-mcp"],
"env": {
"NF_API_KEY": "nf-
"
}
}
}
}

Or if you are doing development:

{
  "version": "0.1",
  "mcpServers": {
    "infactory-mcp": {
      "command": "node",
      "args": ["FULL_PATH_TO/infactory-mcp/dist/index.js"],
      "env": {
        "NF_API_KEY": "nf-*"
      }
    }
  }
}

Example Prompts

Once your MCP server is configured, you can use prompts like these with Claude:

- "Show me a list of all my Infactory projects"
- "Get the details for project proj-123abc"
- "Create a new project called 'Data Analysis' in team team-456xyz"
- "List all query programs in project proj-123abc"
- "Execute query program qp-789def"
- "Tell me about myself (my user account)"

Building from Source

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.