AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Theauth

mcp-glincker-theauth · by glincker

Auth for AI agents and humans. First-class agent identity, MCP OAuth 2.1, delegation, audit. TypeScript, edge-native, MIT.

No reviews yet
0 installs
39 views
0.0% view→install

Install

$ agentstack add mcp-glincker-theauth

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-glincker-theauth)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Theauth? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

████████╗██╗ ██╗███████╗ █████╗ ██╗ ██╗████████╗██╗ ██╗ ╚══██╔══╝██║ ██║██╔════╝██╔══██╗██║ ██║╚══██╔══╝██║ ██║ ██║ ███████║█████╗ ███████║██║ ██║ ██║ ███████║ ██║ ██╔══██║██╔══╝ ██╔══██║██║ ██║ ██║ ██╔══██║ ██║ ██║ ██║███████╗██║ ██║╚██████╔╝ ██║ ██║ ██║ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝

Type-safe authentication for TypeScript. OAuth 2.1, MCP, passkeys, agents.

by GLINR STUDIOS · a GLINCKER LLC project

Quickstart · Docs · Examples · Discussions · TheAuth Cloud


Install

npm install @glinr/theauth
# or
pnpm add @glinr/theauth
# or
yarn add @glinr/theauth
import { createKavach } from "@glinr/theauth";
import { emailPassword, passkey } from "@glinr/theauth/auth";
import { createHonoAdapter } from "@glinr/theauth-hono";

const kavach = createKavach({
  database: { provider: "postgres", url: process.env.DATABASE_URL },
  plugins: [emailPassword(), passkey()],
});

const app = new Hono();
app.route("/api/auth", createHonoAdapter(kavach));

// Create an AI agent with scoped MCP permissions
const agent = await kavach.agent.create({
  ownerId: "user-123",
  name: "github-reader",
  type: "autonomous",
  permissions: [{ resource: "mcp:github:*", actions: ["read"] }],
});

const result = await kavach.authorize(agent.id, {
  action: "read",
  resource: "mcp:github:repos",
});
// { allowed: true, auditId: "aud_..." }

Why theauth

Most auth libraries stop at human sign-in. That leaves you stitching together separate systems when your AI agents need identity, scoped permissions, delegation, and audit trails. theauth handles both in one place.

| Capability | Auth0 | Clerk | Better-Auth | NextAuth | Lucia | theauth | |---|---|---|---|---|---|---| | License | Proprietary | Proprietary | MIT | ISC | MIT | MIT | | Self-hosted | Partial | No | Yes | Yes | Yes | Yes | | OAuth 2.1 server | Yes | Yes | Partial | No | No | Yes | | MCP OAuth 2.1 | No | No | No | No | No | Yes | | Passkeys / WebAuthn | Yes | Yes | Plugin | Plugin | No | Yes | | Multi-tenant / orgs | Yes | Yes | Plugin | No | No | Yes | | Audit log | Yes (paid) | Yes (paid) | No | No | No | Yes | | AI agent identity | No | No | No | No | No | Yes | | Edge runtimes | Partial | No | Yes | Partial | Yes | Yes |


Features

Full feature checklist (click to expand)

Authentication

  • Email and password with HIBP breach checking
  • Magic link
  • Email OTP
  • Phone SMS OTP
  • Passkeys / WebAuthn
  • TOTP 2FA (authenticator apps)
  • SAML 2.0 and OIDC SSO
  • Anonymous sessions
  • Google One Tap
  • Sign In With Ethereum
  • Device Authorization (TV / CLI flows)
  • Username and password
  • Captcha integration
  • Session freshness enforcement

OAuth 2.1

  • Authorization Code + PKCE
  • Client Credentials
  • Device Authorization Grant
  • Refresh Token rotation
  • Token introspection
  • Dynamic Client Registration (RFC 7591)
  • Server metadata (RFC 8414)
  • Resource indicators (RFC 8707)
  • Authorization Server Issuer Identification (RFC 9728)

MCP Support

  • Full OAuth 2.1 authorization server for the Model Context Protocol
  • PKCE S256 mandatory
  • RFC 9728 / 8707 / 8414 / 7591 compliant
  • Agent token issuance and validation

AI Agent Identity

  • Cryptographic bearer tokens (kv_...)
  • Wildcard permission matching
  • Delegation chains with configurable depth limits
  • Budget policies per agent
  • Anomaly detection
  • CIBA-style approval flows for sensitive tool calls
  • Full audit trail per agent action

Framework Adapters

  • Next.js 15 (App Router, Route Handlers, Middleware)
  • SvelteKit
  • Nuxt / Vue
  • Hono (Cloudflare Workers, Bun, Deno)
  • Express
  • Fastify
  • Astro
  • NestJS
  • SolidStart
  • TanStack Start
  • React Native / Expo
  • Electron

Database Adapters

Built-in: SQLite, PostgreSQL, MySQL, Cloudflare D1

Plugin: Prisma (share an existing PrismaClient)

Enterprise

  • Organizations with RBAC
  • SCIM directory sync
  • Admin controls (ban, impersonate)
  • API key management
  • Multi-tenant isolation
  • GDPR: export, delete, anonymize
  • Compliance reports: EU AI Act, NIST, SOC 2, ISO 42001

Edge Runtimes

  • Cloudflare Workers (D1, KV)
  • Vercel Edge Functions
  • Deno Deploy
  • Bun
  • Three runtime dependencies: drizzle-orm, jose, zod

Quick start by framework

Next.js (App Router)

npm install @glinr/theauth @glinr/theauth-nextjs
// app/api/auth/[...theauth]/route.ts
import { createKavach } from "@glinr/theauth";
import { emailPassword } from "@glinr/theauth/auth";
import { createNextAuthHandler } from "@glinr/theauth-nextjs";

const kavach = createKavach({
  database: { provider: "postgres", url: process.env.DATABASE_URL },
  plugins: [emailPassword()],
});

const handler = createNextAuthHandler(kavach);
export { handler as GET, handler as POST };
// app/dashboard/page.tsx (Server Component)
import { getServerSession } from "@glinr/theauth-nextjs";

export default async function Dashboard() {
  const session = await getServerSession();
  if (!session) redirect("/sign-in");
  return Hello, {session.user.email};
}

See examples/nextjs-app for a full working example.

SvelteKit

npm install @glinr/theauth @glinr/theauth-sveltekit
// src/hooks.server.ts
import { createKavach } from "@glinr/theauth";
import { emailPassword } from "@glinr/theauth/auth";
import { createSvelteKitHandler } from "@glinr/theauth-sveltekit";

const kavach = createKavach({
  database: { provider: "sqlite", url: "kavach.db" },
  plugins: [emailPassword()],
});

export const handle = createSvelteKitHandler(kavach);
// src/routes/+layout.server.ts
import { getSession } from "@glinr/theauth-sveltekit";

export async function load(event) {
  const session = await getSession(event);
  return { session };
}

Vue / Nuxt

npm install @glinr/theauth @glinr/theauth-nuxt
// server/plugins/theauth.ts
import { createKavach } from "@glinr/theauth";
import { emailPassword } from "@glinr/theauth/auth";

export const kavach = createKavach({
  database: { provider: "postgres", url: process.env.DATABASE_URL },
  plugins: [emailPassword()],
});
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ["@glinr/theauth-nuxt"],
});

Hono (Cloudflare Workers / Express / Bun)

npm install @glinr/theauth @glinr/theauth-hono
import { Hono } from "hono";
import { createKavach } from "@glinr/theauth";
import { emailPassword } from "@glinr/theauth/auth";
import { createHonoAdapter } from "@glinr/theauth-hono";

type Env = { DATABASE_URL: string };
const app = new Hono();

app.use("/api/auth/*", async (c, next) => {
  const kavach = createKavach({
    database: { provider: "postgres", url: c.env.DATABASE_URL },
    plugins: [emailPassword()],
  });
  return createHonoAdapter(kavach)(c, next);
});

export default app;

See examples/hono-server and examples/cloudflare-workers.


Documentation

Primary docs: docs.theauth.dev

| Section | Link | What you will find | |---|---|---| | Getting Started | docs.theauth.dev/docs/quickstart | Installation, first auth flow | | Authentication | docs.theauth.dev/docs/auth | All auth methods and plugins | | Agent Identity | docs.theauth.dev/docs/agents | Agent tokens, delegation, policies | | Permissions | docs.theauth.dev/docs/permissions | RBAC, wildcard matching, ReBAC | | MCP OAuth 2.1 | docs.theauth.dev/docs/mcp | MCP auth server setup | | Framework Adapters | docs.theauth.dev/docs/adapters | Next.js, Hono, SvelteKit, etc. | | API Reference | docs.theauth.dev/docs/api | Config, types, errors | | Security | [SECURITY.md](SECURITY.md) | Threat model, disclosure policy |


Framework adapters

| Package | Framework | Directory | |---|---|---| | @glinr/theauth-nextjs | Next.js 15 (App Router) | packages/adapters/nextjs | | @glinr/theauth-nextjs-auth | Next.js (external auth backend) | packages/adapters/nextjs-auth | | @glinr/theauth-hono | Hono (Workers, Bun, Deno) | packages/adapters/hono | | @glinr/theauth-express | Express | packages/adapters/express | | @glinr/theauth-fastify | Fastify | packages/adapters/fastify | | @glinr/theauth-sveltekit | SvelteKit | packages/adapters/sveltekit | | @glinr/theauth-nuxt | Nuxt / Vue 3 | packages/adapters/nuxt | | @glinr/theauth-astro | Astro | packages/adapters/astro | | @glinr/theauth-nestjs | NestJS | packages/adapters/nestjs | | @glinr/theauth-solidstart | SolidStart | packages/adapters/solidstart | | @glinr/theauth-tanstack | TanStack Start | packages/adapters/tanstack | | @glinr/theauth-expo | React Native / Expo | packages/adapters/expo | | @glinr/theauth-electron | Electron | packages/adapters/electron |


Database adapters

SQLite, PostgreSQL, MySQL, and Cloudflare D1 are built into the core package. Use the Prisma adapter to share an existing PrismaClient.

| Package | What it connects | Directory | |---|---|---| | Built-in SQLite | better-sqlite3, bun:sqlite, D1 | core | | Built-in PostgreSQL | pg, postgres, Neon, Supabase | core | | Built-in MySQL | mysql2 | core | | @glinr/theauth-prisma | Prisma (share your PrismaClient) | packages/prisma |


Example apps

| Example | What it shows | Directory | |---|---|---| | nextjs-app | Full Next.js 15 App Router integration | examples/nextjs-app | | nextjs-demo | UI components + sign-in flows | examples/nextjs-demo | | hono-server | Standalone Hono API with auth | examples/hono-server | | cloudflare-workers | Workers + D1 database | examples/cloudflare-workers | | mcp-server | MCP OAuth 2.1 authorization server | examples/mcp-server | | basic-agent | AI agent token issuance and policy | examples/basic-agent | | migrate-from-auth0 | Step-by-step Auth0 migration | examples/migrate-from-auth0 | | migrate-from-better-auth-agent-plugin | Migration from better-auth agent plugin | examples/migrate-from-better-auth-agent-plugin |


TheAuth Cloud

Hosted version with dashboard, billing, and zero infrastructure. app.theauth.dev

| Plan | MAU | Price | |---|---|---| | Free | 1,000 | $0 | | Starter | 10,000 | $29/mo | | Growth | 50,000 | $79/mo | | Scale | 200,000 | $199/mo | | Enterprise | Custom | Custom |


Security

Responsible disclosure: see [SECURITY.md](SECURITY.md). Do not open a public issue for vulnerabilities.


Roadmap

Follow development on GitHub Discussions and the [changelog](CHANGELOG.md).


Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md). First-time contributor? Look for issues labeled good first issue.

By contributing, you agree to the [Code of Conduct](CODEOFCONDUCT.md).


License

[MIT](LICENSE) (c) GLINCKER LLC


Built by the founder of theSVG.org.

A Product of GLINR STUDIOS | A GLINCKER COMPANY

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.