@verifymymeeting/mcp
OfficialThis server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
verify-sdk
Public SDK, MCP server, and protocol spec for VerifyMyMeeting. Apache-2.0.
VerifyMyMeeting lets a group of people prove that they met, for how long, and which version of the record each of them endorses, with participants identified by an anonymized handle and a Cubid humanity score by default.
Package | Purpose |
| Typed API client, protocol types, and browser-safe proof verification |
| MCP server exposing workspaces, records, invitations, and verification lookups as tools |
| Embeddable sign-up and attestation component (planned, placeholder) |
| Protocol specification, OpenAPI contract, and shared test vectors |
Status: pre-release. Nothing is published to npm yet; the @verifymymeeting
scope is registered at first publish.
@verifymymeeting/sdk
import { createClient } from '@verifymymeeting/sdk'
const vmm = createClient({
baseUrl: 'https://verifymymeeting.com',
token: process.env.VMM_TOKEN, // vmm_sk_... or vmm_ct_...
})
const workspace = await vmm.workspaces.create({
title: 'Interview 7',
scheduledStart: '2026-11-12T14:00:00Z',
durationMinutes: 60,
})
await vmm.workspaces.setStatus(workspace.id, 'open')
const record = await vmm.records.create(workspace.id, {
kind: 'text',
label: 'Transcript',
text: transcript,
})
const { url } = await vmm.invitations.create(workspace.id, { kind: 'slot' })
// Share `url` with the participant. They sign in with Cubid and attest there.Errors throw VmmApiError with status, code, message, details, and
requestId. vmm.rateLimit holds the last response's rate-limit headers.
Verifying proofs offline
Everything under @verifymymeeting/sdk/proofs runs in browsers, Node 22+,
and workers using Web Crypto, so the hashing functions are asynchronous.
import {
canonicalize,
textRecordCommitment,
verifyReceipt,
verifySignature,
} from '@verifymymeeting/sdk'
// Does this transcript match the committed record?
const { rootHex } = await textRecordCommitment(originalText)
console.log(rootHex === record.rootHex)
// Was this attestation anchored?
const { receipt } = await vmm.receipt('attestation', attestation.id)
if (receipt) console.log(await verifyReceipt(receipt)) // { verdict, inclusion }
// Did this participant sign this payload?
const ok = await verifySignature(
canonicalize(attestation.payload),
attestation.signatureB64,
participant.publicKeyHex,
)Integrator consent (OAuth 2.1 with PKCE)
import {
buildAuthorizeUrl,
createPkcePair,
createState,
} from '@verifymymeeting/sdk'
const pkce = await createPkcePair()
const state = createState()
// store pkce.codeVerifier and state in the session, then redirect to:
const url = buildAuthorizeUrl({
baseUrl: 'https://verifymymeeting.com',
clientId: INTEGRATOR_ID,
redirectUri: 'https://app.example/vmm/callback',
state,
codeChallenge: pkce.codeChallenge,
})
// on callback:
const token = await vmm.oauth.exchangeCode({
code,
codeVerifier: pkce.codeVerifier,
clientId: INTEGRATOR_ID,
redirectUri: 'https://app.example/vmm/callback',
})
// token.access_token is a vmm_ct_... consent token bound to that owner.Related MCP server: documenso-mcp
@verifymymeeting/mcp
Run over stdio with an API key or consent token:
VMM_BASE_URL=https://verifymymeeting.com VMM_TOKEN=vmm_sk_... npx -y @verifymymeeting/mcpClaude Desktop, Claude Code, or Codex configuration:
{
"mcpServers": {
"verifymymeeting": {
"command": "npx",
"args": ["-y", "@verifymymeeting/mcp"],
"env": {
"VMM_BASE_URL": "https://verifymymeeting.com",
"VMM_TOKEN": "vmm_sk_..."
}
}
}
}Tools: vmm_list_workspaces, vmm_create_workspace, vmm_get_workspace,
vmm_attach_record, vmm_create_invitation, vmm_get_verification,
vmm_get_receipt. Embed the server in your own process with
createVmmMcpServer({ baseUrl, token }) and any MCP transport.
Development
pnpm install
pnpm typecheck # builds the sdk first so mcp can resolve it
pnpm test
pnpm build
pnpm check # prettierThe server in the private verifymymeeting repository carries a copy of the
proof code and is tested against the same spec/vectors; a drift between
the two fails a test on the server side.
This server cannot be deployed
Maintenance
Related MCP Connectors
Work with shared spaces, threads, documents, skills, apps, automations, and connected tools.
Hosted document tools for agents: extract, parse, classify, convert, OCR, sign, and redact.
Document creation, signing requests, and approval workflows for AI agents over Streamable HTTP.
Authenticated FieldRobin workspace tools, including scope-authorized customer and job creation.
Related MCP Servers
AlicenseBqualityBmaintenanceProvides 110+ tools for identity verification, compliance, and workspace operations through the Model Context Protocol.10083 npm1MIT- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT and Claude to list, inspect, prepare and send Documenso envelopes for the caller's own team. Read-only tools stay team-scoped, drafts are prepared before any send, and every call uses the calling user's own team token rather than a shared credential.71 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to create, read, update, list, restore, and share encrypted workspaces and artifacts with version-aware writes, view-only links, and optional public documents.7 npmMIT
- FlicenseNot gradedqualityAmaintenanceGives AI agents access to a persistent document workspace so they can search, read, and update knowledge through 22 focused tools, 2 prompts, and 3 resources, with batch actions and direct workspace-item inspection. Runs either as a hosted Streamable HTTP endpoint with OAuth or API keys, or as a self-hosted stdio bridge pointed at your own instance.-