Installation Guide

Deploy Keep It Krispy to your AWS account in about 5 minutes.

Prerequisites

Krisp.ai

Desktop app

AWS Account

Free tier OK

AWS CLI

v2.x

Node.js

18+

Git

Any version

Python

3.11+ (optional)

Step 1: AWS CLI Setup

Install AWS CLI

brew install awscli

Or download from awscli.amazonaws.com/AWSCLIV2.pkg

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Download and run: awscli.amazonaws.com/AWSCLIV2.msi

Or via winget:

winget install Amazon.AWSCLI

Create IAM Credentials

  1. Log into AWS Console → IAM
  2. Create a new IAM User (e.g., krisp-deployer)
  3. Attach the scoped policy below (or use AdministratorAccess for testing)
  4. Create Access Key: Security credentials → Create access key → CLI
  5. Save the Access Key ID and Secret Access Key
Download Scoped IAM Policy
Scoped Policy - The downloadable policy grants only the permissions needed for deployment. It's safer than using AdministratorAccess.

Configure AWS CLI

$ aws configure

AWS Access Key ID: AKIA...
AWS Secret Access Key: wJalr...
Default region name: us-east-1
Default output format: json

Verify it works:

$ aws sts get-caller-identity

{
    "Account": "123456789012",
    "Arn": "arn:aws:iam::123456789012:user/krisp-deployer"
}

Enable Bedrock Model Access

For semantic search, you need access to Amazon Titan Embeddings:

  1. Go to Bedrock → Model access
  2. Click "Manage model access"
  3. Select "Amazon" → "Titan Text Embeddings V2"
  4. Click "Request model access" (instant approval)

Step 2: Run the Installer

One-Line Install

curl -fsSL https://krispy.alpha-pm.dev/install.sh | bash

The installer will:

  1. Check prerequisites (Git, Node.js, AWS CLI, credentials)
  2. Validate AWS permissions before deploying
  3. Clone the repository to ~/keep-it-krispy
  4. Deploy CloudFormation stack (S3, DynamoDB, Lambda)
  5. Create S3 Vectors index for semantic search
  6. Build the MCP server locally
  7. Configure Claude Desktop and/or Claude Code
  8. (Optional) Deploy admin dashboard web UI
  9. Print your webhook URL, credentials, and dashboard URL
Optional: Admin Dashboard
The installer will ask if you want to deploy a web-based admin dashboard for browsing transcripts, semantic search, and speaker management. Requires Docker and adds ~$5-10/month (AWS App Runner).
Using a specific AWS profile?
AWS_PROFILE=myprofile curl -fsSL https://krispy.alpha-pm.dev/install.sh | bash

Step 3: Configure Krisp Webhook

After installation, you'll see a webhook URL and an authentication key. Add them to Krisp:

  1. Open Krisp desktop app
  2. Go to Settings → Integrations → Webhooks
  3. Webhook URL: Paste your URL (looks like https://xxxxx.lambda-url.us-east-1.on.aws/)
  4. Request Headers: Click the + button to add a header:
    • Header Name: Authorization
    • Header Value: Your auth key from the installer output
  5. Select "Transcript created" as the trigger event
  6. Click "Update" to save
Why the Authorization header? This prevents unauthorized access to your webhook. Only your Krisp app knows the secret key, so only your meetings get indexed.
Lost your auth key? It's saved in ~/keep-it-krispy/.env.local. You can also regenerate by running the installer again.
Test it: Have a quick meeting (even talking to yourself for 30 seconds works). Check your S3 bucket for new files.

Step 4: Set Up MCP

The final step is connecting Claude to your meeting data via MCP.

MCP Setup Guide →

What Gets Deployed

AWS Resources Created:
----------------------
S3 Bucket:    krisp-transcripts-{account-id}    (raw meeting JSON)
S3 Bucket:    krisp-vectors-{account-id}        (embeddings for search)
DynamoDB:     krisp-transcripts-index           (fast metadata queries)
Lambda:       krisp-buddy-webhook               (receives Krisp webhooks)
Lambda:       krisp-buddy-processor             (indexes + embeds transcripts)
IAM Roles:    krisp-buddy-webhook-role
              krisp-buddy-processor-role

Local Files:
------------
~/keep-it-krispy/                              (cloned repository)
~/keep-it-krispy/lambda/mcp-server-ts/dist/    (built MCP server)
~/keep-it-krispy/.env.local                    (your configuration)
      

Troubleshooting

AWS Credentials Error

Run aws sts get-caller-identity to verify credentials are configured. Check ~/.aws/credentials.

Permission Denied

Your IAM user needs permissions to create S3, DynamoDB, Lambda, and IAM resources. Use the scoped policy above.

Bedrock Access Denied

You need to request model access for Titan Embeddings. See Step 1 above.

MCP Not Connecting

Check logs in ~/Library/Logs/Claude/mcp-server-krisp.log. See MCP Setup.

Estimated Cost

ComponentMonthly CostNotes
DynamoDBFreeFree tier (25 GB, 25 RCU/WCU)
S3 Storage~$0.02~1 GB transcripts
S3 Vectors~$0.01~10 MB embeddings
LambdaFreeFree tier (1M requests)
Bedrock~$0.05One-time indexing
Total< $2/month