Skip to main content
Glama
Sergey-ek

nodebb-plugin-integration

by Sergey-ek

NodeBB Integration Layer

AI integration layer for NodeBB forums with MCP, semantic search, RAG pipeline and Qdrant vector storage.

Node.js Tests License

Features

  • NodeBB integration adapter

  • MCP (Model Context Protocol) server

  • Semantic search

  • RAG knowledge pipeline

  • Qdrant vector database support

  • OpenAI embeddings support

  • Fake embeddings for local development

  • Standalone development mode

  • Automated tests with GitHub Actions

Architecture

                    NodeBB

                      |
                      |

                Integration Layer

                      |
        +-------------+-------------+

        |                           |

      MCP                         AI

        |                           |

   Tools API                  Embeddings

                                    |

                                  Qdrant

                                    |

                              Knowledge Base

Requirements

  • Node.js >= 20

  • npm >= 10

Optional:

  • NodeBB

  • Redis

  • Qdrant

  • OpenAI API key

Installation

Clone repository:

git clone https://github.com/Sergey-ek/nodebb-plugin-integration.git

cd nodebb-plugin-integration

Install dependencies:

npm install

Create environment file:

cp .env.example .env

Development mode

By default the project uses fake embeddings:

AI_PROVIDER=fake

This allows running tests without:

  • OpenAI

  • Qdrant

  • NodeBB

Run diagnostics:

npm run diagnose

Example:

{
 environment: "development",
 embeddings: {
   provider: "fake",
   size: 1536
 }
}

Testing

Syntax check:

npm run check

Run tests:

npm test

Expected:

8 passing

NodeBB Integration

Configure:

NODEBB_URL=http://localhost:4567

NODEBB_API_KEY=your_token

When running inside NodeBB, the plugin uses native NodeBB modules.

Standalone mode provides safe fallback adapters.

AI Pipeline

Flow:

Forum post

    |

Embedding generation

    |

Vector storage

    |

Qdrant similarity search

    |

Knowledge retrieval

    |

AI response

Supported providers:

Fake

Development mode:

AI_PROVIDER=fake

OpenAI

Production mode:

AI_PROVIDER=openai

OPENAI_API_KEY=your_key

Qdrant

Configure:

QDRANT_URL=http://localhost:6333

QDRANT_COLLECTION=nodebb_knowledge

The system automatically:

  • checks collection;

  • creates collection;

  • stores vectors;

  • performs similarity search.

MCP Server

Start MCP:

npm run mcp

Available tools:

get_forum_info

get_post

get_topic

get_user

search_knowledge

Example:

search_knowledge

{
 "query": "installation guide",
 "limit": 5
}

Project Structure

.
├── library.js

├── package.json

├── plugin.json

├── src

│   ├── ai

│   │   ├── embeddings.js

│   │   ├── openai.js

│   │   ├── qdrant.js

│   │   ├── indexer.js

│   │   └── search.js

│   │

│   ├── mcp

│   │   ├── server.js

│   │   └── tools.js

│   │

│   ├── nodebb

│   │   ├── meta.js

│   │   ├── posts.js

│   │   ├── topics.js

│   │   └── users.js

│   │

│   └── config

│       └── index.js

│

└── test

    └── plugin.test.js

Security

Never commit:

.env

OPENAI_API_KEY

NODEBB_API_KEY

License

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sergey-ek/nodebb-plugin-integration'

If you have feedback or need assistance with the MCP directory API, please join our Discord server