Skip to content

v0.2.0 - MCP-first, self-hostable

Latest

Choose a tag to compare

@theBstar theBstar released this 13 Sep 03:25
· 2 commits to main since this release
71ef5a4

Numen is proactive work intelligence for engineering teams. It connects Linear, GitHub, Slack, Jira, Notion and Google Docs into one context graph, scores what deserves attention, and answers in Slack, the web app, or any MCP client. Everything runs on your own infrastructure.

This is the first tagged release of the open-source repository.

Highlights

MCP is the product surface. A built-in MCP server exposes the joined graph to Claude Code, Cursor, Claude Desktop and any other MCP client. hello_numen opens a session with an org summary and a tool index grouped by intent, and every error returns a stable {code, message, hint, retryable, suggested_next_tool, docs_url} envelope across 24 codes, so an agent can branch on code rather than parse prose.

Six connectors. Linear, GitHub, Slack, Jira, Notion and Google Docs. All six do full and incremental sync; the first four also take webhooks. One registry in src/connectors/registry.py is the single source of truth for which sources exist.

Cross-signal reasoning. The value is in the joins. An answer about a blocked project pulls from a pull request, a ticket, a Slack thread and a Google Doc at once, which no single-tool integration can do.

Provenance on everything. Each surfaced item carries why Numen surfaced it, with source links, and the business goal it connects to.

Never writes back without you. LLM dispatch returns drafts. Numen does not act on your source systems without a human approving it.

Multi-tenant isolation. org_id is the tenant boundary, enforced down to the SQL layer.

Self-hosting

Since the repository went public the work has been about making a fresh install actually work:

  • scripts/bootstrap_admin.py gets you into a new install without first registering a Google OAuth app
  • the database password is configurable, and the datastores are no longer published to the host
  • /mcp/ is served with its trailing slash, and the docs point at this repository rather than a hosted service
  • dependencies install from pyproject.toml, and CI applies every migration against a real Postgres

Quickstart

git clone https://github.com/theBstar/numen.git
cd numen
cp .env.example .env
docker compose up --build
docker compose exec app python scripts/bootstrap_admin.py you@company.com

Bring your own model: Numen speaks the OpenAI wire protocol, so LLM_BASE_URL can point at OpenAI, Azure, OpenRouter, or a local Ollama or vLLM server. Pointed at localhost, nothing leaves your network.

Contributing

There are open issues labelled good first issue and help wanted, including connector test coverage and two new connectors (Sentry, PagerDuty). See CONTRIBUTING.md.

Full detail in CHANGELOG.md.