MCPHub LabRegistrypillarhq/pillar
pillarhq

pillarhq/pillar

Built by pillarhq 31 stars

What is pillarhq/pillar?

Open source product copilot. Embed an AI chat widget that doesn't just answer questions—it executes client-side actions in the user's browser to get things done inside your app.

How to use pillarhq/pillar?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add pillarhq/pillar using the following command: npx @modelcontextprotocol/pillarhq-pillar 4. Restart the client and verify the new tools are active.
🛡️ Scoped (Restricted)
npx @modelcontextprotocol/pillarhq-pillar --scope restricted
🔓 Unrestricted Access
npx @modelcontextprotocol/pillarhq-pillar

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified Standard Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

pillarhq/pillar FAQ

Q

Is pillarhq/pillar safe?

Yes, pillarhq/pillar follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is pillarhq/pillar up to date?

pillarhq/pillar is currently active in the registry with 31 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for pillarhq/pillar?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/pillarhq/pillar/main/.github/img/logo-light.svg" /> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/pillarhq/pillar/main/.github/img/logo-dark.svg" /> <img alt="Pillar" src="https://raw.githubusercontent.com/pillarhq/pillar/main/.github/img/logo-dark.svg" width="200" /> </picture> </p> <p align="center"> <a href="https://trypillar.com"><strong>Pillar is an open-source AI copilot SDK for SaaS — a product assistant that executes tasks, not just answers questions</strong></a> </p> <p align="center"> <a href="https://github.com/pillarhq/pillar/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-AGPL--3.0-blue" alt="License" /></a> <a href="https://www.npmjs.com/package/@pillar-ai/sdk"><img src="https://img.shields.io/npm/v/@pillar-ai/sdk" alt="npm version" /></a> <a href="https://www.npmjs.com/package/@pillar-ai/sdk"><img src="https://img.shields.io/npm/dm/@pillar-ai/sdk" alt="npm downloads" /></a> <a href="https://discord.gg/5aWZe8b884"><img src="https://img.shields.io/discord/1470491094847324538?logo=discord&label=Discord" alt="Discord" /></a> <a href="https://github.com/pillarhq/pillar/commits/main"><img src="https://img.shields.io/github/last-commit/pillarhq/pillar" alt="Last Commit" /></a> </p> <p align="center"> <a href="https://trypillar.com/docs">Docs</a> · <a href="https://trypillar.com/blog">Blog</a> · <a href="https://trypillar.com">Website</a> · <a href="https://discord.gg/5aWZe8b884">Discord</a> · <a href="https://x.com/trypillar_ai">Twitter</a> </p>

Pillar

The open-source product copilot. Build AI agents into your app that execute tasks, not just answer questions.

<p align="center"> <img src="https://raw.githubusercontent.com/pillarhq/pillar/main/.github/img/banking-demo.gif" alt="Pillar banking demo — user asks the copilot to pay their cleaner $200" width="800" /> </p>

Pillar is an embeddable AI co-pilot SDK. Users say what they want, and Pillar uses your UI to make it happen — navigating pages, pre-filling forms, and calling your APIs. It runs client-side with the user's session, so there's no proxy servers or token forwarding.

Pillar works across SaaS and web apps. A user could ask:

A banking app: "Send my cleaner $200"

A CRM: "Close the Walmart deal as won and notify implementation"

An analytics dashboard: "Add a weekly signups chart to my dashboard"

A PM tool: "Create a P1 bug for this checkout crash and add it to this sprint"

Pillar understands the intent, builds a multi-step plan, and executes it using your UI — the same way the user would, but hands-free.

This repository contains the Pillar platform: backend API and admin dashboard. SDK packages are maintained separately — see sdk, sdk-react, and sdk-vue.


Why Pillar?

  • One install, fully yours: npm install and go. Define actions, customize UI and behavior — all in your own code. No black boxes.
  • Actions, not just answers: Navigate pages, pre-fill forms, call APIs. The assistant does things on behalf of users, not just explains how.
  • Client-side execution: Runs in the user's browser with their session. Same auth, no proxy servers, no token forwarding.
  • Managed knowledge: Crawls your docs and integrates with your content sources — websites, files, cloud storage, and snippets. RAG that stays fresh automatically.
  • MCP server included: Standards-compliant MCP plus WebMCP support let you connect top models and agent workflows through Pillar.
  • Multi-framework SDKs: React, Vue, Angular, and vanilla JS. All MIT-licensed, embed freely in proprietary apps.

Quick Start

Cloud (Fastest)

Sign up at trypillar.com to get your Agent Slug, then install the SDK:

npm install @pillar-ai/react

1. Add the provider to your app:

import { PillarProvider } from '@pillar-ai/react';

function App() {
  return (
    <PillarProvider agentSlug="your-agent-slug">
      <YourApp />
    </PillarProvider>
  );
}

2. Register tools using usePillarTool:

Tools let the AI assistant perform tasks in your app — navigating to a page, opening a modal, calling an API. Create a hook file for your tool definitions:

// hooks/usePillarTools.ts
import { usePillarTool } from '@pillar-ai/react';
import { useRouter } from 'next/navigation';

export function usePillarTools() {
  const router = useRouter();

  usePillarTool({
    name: 'open_settings',
    type: 'navigate',
    description: 'Navigate to the settings page',
    examples: ['open settings', 'go to settings'],
    autoRun: true,
    execute: () => router.push('/settings'),
  });

  usePillarTool({
    name: 'add_to_cart',
    type: 'trigger_tool',
    description: 'Add a product to the shopping cart',
    inputSchema: {
      type: 'object',
      properties: {
        productId: { type: 'string', description: 'The product ID to add' },
        quantity: { type: 'number', description: 'Number of items to add' },
      },
      required: ['productId', 'quantity'],
    },
    execute: async ({ productId, quantity }) => {
      await cartApi.addItem(productId, quantity);
    },
  });
}

Call the hook from a component inside your PillarProvider:

import { usePillarTools } from './hooks/usePillarTools';

function App() {
  usePillarTools();
  return <div>{/* your app */}</div>;
}

Tools are automatically registered when the component mounts and unregistered when it unmounts.

3. Sync tools to Pillar:

The CLI scans your codebase for usePillarTool calls and syncs the tool definitions to Pillar. Run this in CI/CD after building your app:

PILLAR_SLUG=your-product-slug PILLAR_SECRET=your-secret-token npx pillar-sync --scan ./src

Replace the slug and secret placeholders with the values from your dashboard. Point --scan at the directory containing your tool definitions.

The execute functions run client-side in your app. Users can now ask the copilot to navigate to settings or add items to their cart, and it executes using your code.

Self-Hosted

git clone https://github.com/pillarhq/pillar.git
cd pillar
cp backend/.env.example backend/.env
# Edit backend/.env with your API keys
docker compose up

The API runs on port 8000, the admin dashboard on port 3000. See Self-Hosting for configuration details.


Features

FeatureDescription
ToolsNavigate pages, pre-fill forms, call APIs — the assistant executes, not just explainsDocs
Knowledge BaseIngest from websites, files, cloud storage (S3/GCS), and snippetsDocs
AI ChatStreaming, context-aware responses grounded in your documentationDocs
Custom CardsRender interactive UI for confirmations and data input inline in chatDocs
Human EscalationHand off to Intercom, Zendesk, Freshdesk, or a custom support flowDocs
MCP ServerStandards-compliant MCP and WebMCP support for top-model and agent workflows through Pillar
Admin DashboardManage sources, review analytics, configure agent behavior and theming

Explore all features in the documentation.


SDKs

All SDK packages are MIT-licensed — embed freely in proprietary applications. Source code lives in standalone repos under github.com/pillarhq.

FrameworkPackageInstallGuide
React@pillar-ai/reactnpm install @pillar-ai/reactReact Quickstart
Vue@pillar-ai/vuenpm install @pillar-ai/vueVue Quickstart
Angular@pillar-ai/angularnpm install @pillar-ai/angularAngular Quickstart
Vanilla JS@pillar-ai/sdknpm install @pillar-ai/sdkVanilla JS Quickstart

Or load via CDN with no build step:

<script src="https://cdn.trypillar.com/sdk.js"></script>
<script>
  Pillar.init({ agentSlug: 'your-agent-slug' });
</script>

See the React API Reference and Core SDK Reference for full API docs.


Architecture

backend/          Django API, RAG pipeline, MCP server, Hatchet workflows
frontend/         Next.js admin dashboard

SDKs are maintained in separate repos: sdk, sdk-react, sdk-vue.

Stack: Django + DRF, PostgreSQL + pgvector, Redis, Hatchet (workflow orchestration), Next.js, TypeScript


Self-Hosting

Prerequisites

  • Docker and Docker Compose
  • At least one AI provider API key (OpenAI, Anthropic, or Google)
  • A Hatchet instance (cloud or self-hosted) for background workflows

Setup

git clone https://github.com/pillarhq/pillar.git
cd pillar
cp backend/.env.example backend/.env
# Edit backend/.env with your API keys and configuration
docker compose up

The API runs on port 8000 and the admin dashboard on port 3000. See backend/.env.example for all configuration options.

For local development setup, see the Contributing Guide.


Open Source vs Cloud

Open SourceCloud
DeploymentSelf-hostedManaged at trypillar.com
InfrastructureYou manageWe manage
UpdatesManualAutomatic
LicenseAGPL-3.0Usage-based pricing
SupportCommunityPriority support
FeaturesFull platformFull platform + managed infra

The hosted version at trypillar.com is the easiest way to get started. No infrastructure to manage, always up to date.

For enterprises that need to self-host without AGPL obligations, commercial licenses are available. Contact support@trypillar.com.


Resources


Contributing

We welcome contributions! Please read our Contributing Guide before submitting a pull request.


License

This project uses a dual license model:

  • AGPL-3.0 for the core product (backend + frontend). If you modify Pillar and run it as a service, you must release your modifications under AGPL-3.0. Using Pillar's API from your application does not trigger this obligation.
  • MIT for SDK packages in packages/. You can freely embed these in your proprietary applications.

See LICENSE for the full AGPL-3.0 text. Third-party dependency details are in backend/pyproject.toml and frontend/package.json.


Responsible use: Users are responsible for respecting websites' policies when using Pillar's crawling features. Pillar respects robots.txt by default.

Global Ranking

3.1
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "pillarhq-pillar": { "command": "npx", "args": ["pillarhq-pillar"] } } }