Brainiall NLP
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
Crawler Summary
MCP server for Figma integration with Auth0/API key authentication π¨ Figma MCP Server $1 $1 $1 $1 A production-ready Model Context Protocol (MCP) server that seamlessly integrates Figma with AI assistants like Claude. Features OAuth with automatic token refresh, eliminating the need for manual token updates every 30 days. β¨ Key Features - **π OAuth with Auto-Refresh**: Never manually update Figma tokens again - automatic refresh every 30 days - **π€ MCP Protocol Support**: Full in Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
@haseebrj17/figma-mcp-server is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
MCP server for Figma integration with Auth0/API key authentication π¨ Figma MCP Server $1 $1 $1 $1 A production-ready Model Context Protocol (MCP) server that seamlessly integrates Figma with AI assistants like Claude. Features OAuth with automatic token refresh, eliminating the need for manual token updates every 30 days. β¨ Key Features - **π OAuth with Auto-Refresh**: Never manually update Figma tokens again - automatic refresh every 30 days - **π€ MCP Protocol Support**: Full in
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Haseebrj17
Artifacts
0
Benchmarks
0
Last release
1.0.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/haseebrj17/figma-mcp-server.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Haseebrj17
Protocol compatibility
MCP
Auth modes
mcp, api_key, oauth
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Clone the repository git clone https://github.com/haseebrj17/figma-mcp-server.git cd figma-mcp-server # Install dependencies npm install # Copy environment variables cp .env.example .env # Set up database (interactive setup wizard) npm run setup:db # Or manually configure .env and run: # npm run prisma:generate # npm run prisma:migrate # Start development server npm run dev
env
# Server Configuration NODE_ENV=development PORT=3000 SERVER_URL=http://localhost:3000 # Authentication Method (choose one) AUTH_METHOD=oauth # Options: 'oauth', 'apikey', 'auth0' # Figma OAuth (recommended for production) FIGMA_CLIENT_ID=your-figma-client-id FIGMA_CLIENT_SECRET=your-figma-client-secret FIGMA_REDIRECT_URI=http://localhost:3000/auth/callback # OR Figma Personal Token (for development) FIGMA_ACCESS_TOKEN=your-personal-access-token # Database (required for OAuth) DATABASE_URL=postgresql://user:password@localhost:5432/figma_mcp # Optional: Redis for rate limiting REDIS_URL=redis://localhost:6379 # Optional: Monitoring SENTRY_DSN=your-sentry-dsn
javascript
// Tokens are automatically refreshed before expiry // No manual intervention needed
env
AUTH_METHOD=apikey API_KEY=your-secure-api-key
env
AUTH_METHOD=auth0 AUTH0_DOMAIN=your-domain.auth0.com AUTH0_CLIENT_ID=your-client-id AUTH0_CLIENT_SECRET=your-secret
typescript
// In Claude or any MCP client
const result = await mcp.callTool('get_file', {
fileKey: 'abc123xyz',
depth: 2
});
// Export images from specific nodes
const images = await mcp.callTool('get_file_images', {
fileKey: 'abc123xyz',
nodeIds: ['1:2', '3:4'],
format: 'png',
scale: 2
});Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for Figma integration with Auth0/API key authentication π¨ Figma MCP Server $1 $1 $1 $1 A production-ready Model Context Protocol (MCP) server that seamlessly integrates Figma with AI assistants like Claude. Features OAuth with automatic token refresh, eliminating the need for manual token updates every 30 days. β¨ Key Features - **π OAuth with Auto-Refresh**: Never manually update Figma tokens again - automatic refresh every 30 days - **π€ MCP Protocol Support**: Full in
A production-ready Model Context Protocol (MCP) server that seamlessly integrates Figma with AI assistants like Claude. Features OAuth with automatic token refresh, eliminating the need for manual token updates every 30 days.
# Clone the repository
git clone https://github.com/haseebrj17/figma-mcp-server.git
cd figma-mcp-server
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env
# Set up database (interactive setup wizard)
npm run setup:db
# Or manually configure .env and run:
# npm run prisma:generate
# npm run prisma:migrate
# Start development server
npm run dev
Create a .env file based on .env.example:
# Server Configuration
NODE_ENV=development
PORT=3000
SERVER_URL=http://localhost:3000
# Authentication Method (choose one)
AUTH_METHOD=oauth # Options: 'oauth', 'apikey', 'auth0'
# Figma OAuth (recommended for production)
FIGMA_CLIENT_ID=your-figma-client-id
FIGMA_CLIENT_SECRET=your-figma-client-secret
FIGMA_REDIRECT_URI=http://localhost:3000/auth/callback
# OR Figma Personal Token (for development)
FIGMA_ACCESS_TOKEN=your-personal-access-token
# Database (required for OAuth)
DATABASE_URL=postgresql://user:password@localhost:5432/figma_mcp
# Optional: Redis for rate limiting
REDIS_URL=redis://localhost:6379
# Optional: Monitoring
SENTRY_DSN=your-sentry-dsn
Implements Figma OAuth 2.0 with automatic token refresh:
// Tokens are automatically refreshed before expiry
// No manual intervention needed
Simple key-based auth for server-to-server:
AUTH_METHOD=apikey
API_KEY=your-secure-api-key
Enterprise SSO with Auth0:
AUTH_METHOD=auth0
AUTH0_DOMAIN=your-domain.auth0.com
AUTH0_CLIENT_ID=your-client-id
AUTH0_CLIENT_SECRET=your-secret
The server exposes these Figma operations as MCP tools:
| Tool | Description | Parameters |
|------|-------------|------------|
| get_file | Retrieve complete file data | fileKey, branch_data, version, depth |
| get_file_nodes | Get specific nodes from a file | fileKey, nodeIds, version, depth |
| get_file_images | Export images from nodes | fileKey, nodeIds, format, scale |
| get_file_styles | Get all styles in a file | fileKey |
| get_file_components | Get all components | fileKey |
| get_team_projects | List team projects | teamId |
| get_project_files | List files in a project | projectId |
| get_file_comments | Get file comments | fileKey |
| post_file_comment | Post a new comment | fileKey, message, client_meta |
| get_file_versions | Get version history | fileKey |
// In Claude or any MCP client
const result = await mcp.callTool('get_file', {
fileKey: 'abc123xyz',
depth: 2
});
// Export images from specific nodes
const images = await mcp.callTool('get_file_images', {
fileKey: 'abc123xyz',
nodeIds: ['1:2', '3:4'],
format: 'png',
scale: 2
});
npm install figma-mcp-client
import { FigmaMCPClient } from 'figma-mcp-client';
// Initialize client
const client = new FigmaMCPClient({
serverUrl: 'https://your-server.vercel.app',
apiKey: 'your-api-key',
transport: 'http' // or 'websocket'
});
// Connect to server
await client.connect();
// Use Figma tools
const file = await client.getFile('your-file-key');
const components = await client.getComponents('your-file-key');
// Export images
const images = await client.exportImages('your-file-key', ['node-id-1', 'node-id-2'], {
format: 'png',
scale: 2
});
GET /mcp/tools
Authorization: Bearer <token>
POST /mcp/tools/call
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "get_file",
"arguments": {
"fileKey": "abc123xyz"
}
}
GET /api/files/:fileKey
GET /api/files/:fileKey/nodes?ids=1:2,3:4
GET /api/files/:fileKey/images?ids=1:2&format=png&scale=2
GET /api/files/:fileKey/styles
GET /api/files/:fileKey/components
GET /api/teams/:teamId/projects
GET /api/projects/:projectId/files
GET /api/files/:fileKey/comments
POST /api/files/:fileKey/comments
GET /api/files/:fileKey/versions
GET /auth/figma # Start OAuth flow
GET /auth/callback # OAuth callback
POST /auth/refresh # Refresh access token
GET /auth/status # Check auth status
POST /auth/logout # Logout user
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prod
npm run buildnpm run startFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
RUN npm run prisma:generate
EXPOSE 3000
CMD ["npm", "start"]
docker build -t figma-mcp-server .
docker run -p 3000:3000 --env-file .env figma-mcp-server
npm run dev # Start development server with hot reload
npm run build # Build TypeScript to JavaScript
npm run start # Run production server
npm run test # Run test suite
npm run lint # Lint code with ESLint
npm run typecheck # Type check with TypeScript
# Database commands
npm run setup:db # Interactive database setup wizard
npm run prisma:generate # Generate Prisma client
npm run prisma:migrate # Run migrations (dev)
npm run prisma:deploy # Deploy migrations (prod)
npm run prisma:studio # Open Prisma Studio GUI
node test-db-connection.js # Test database connection
# Deployment
npm run vercel-build # Build for Vercel
figma-mcp-server/
βββ src/
β βββ index.ts # Main MCP server entry
β βββ http-server.ts # Express HTTP server
β βββ services/
β β βββ auth.ts # Authentication service
β β βββ figma.ts # Figma API wrapper
β β βββ oauth.ts # OAuth implementation
β β βββ prisma.ts # Database client
β βββ routes/
β β βββ oauth.ts # OAuth routes
β βββ types/
β βββ figma.ts # Type definitions
βββ client-sdk/ # TypeScript SDK
β βββ src/
β βββ examples/
βββ docs/ # Documentation
β βββ QUICKSTART.md # Quick start guide
β βββ API_REFERENCE.md # Complete API documentation
β βββ INTEGRATION_GUIDE.md # Platform integrations
β βββ EXAMPLES.md # Code examples
β βββ DEPLOYMENT.md # Deployment guide
β βββ MIGRATION_GUIDE.md # Migration guide
βββ prisma/
β βββ schema.prisma # Database schema
βββ tests/ # Test files
βββ .env.example # Environment template
βββ CLAUDE.md # AI assistant instructions
βββ README.md # This file
// Built-in rate limiting per user
const rateLimiter = {
windowMs: 15 * 60 * 1000, // 15 minutes
max: 100 // limit each user to 100 requests per window
};
The project includes extensive documentation to help you integrate and use the Figma MCP Server:
https://figma-mcp-server-nu.vercel.appGET /api/healthGET /api/mcp/toolsPOST /api/mcp/tools/callWe welcome contributions! Please see our Contributing Guide for details.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Token Expiry
FIGMA_ACCESS_TOKEN in .envDatabase Connection Failed
DATABASE_URL formatnpm run prisma:migrateRate Limiting
rateLimiter configCORS Issues
ALLOWED_ORIGINSAccess-Control-Allow-Origin headersThis project is licensed under the MIT License - see the LICENSE file for details.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key, oauth
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
63 production tools for AI agents β one API key, pay per call in USDC (x402) or Stripe credits.
Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.
Primary-source commodities data for AI agents β EIA, FRED, CFTC, USDA, USGS via x402 on Base.
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key",
"oauth"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/haseebrj17/figma-mcp-server#input",
"outputSchemaRef": "https://github.com/haseebrj17/figma-mcp-server#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:09.804Z",
"sourceUpdatedAt": "2026-02-24T19:46:09.804Z",
"freshnessSeconds": 19600799
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-10-09T16:26:09.385Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "figma",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "claude",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "api",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:figma|supported|profile capability:mcp|supported|profile capability:model-context-protocol|supported|profile capability:ai|supported|profile capability:claude|supported|profile capability:api|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:09.804Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key, oauth",
"href": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:09.804Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/haseebrj17/figma-mcp-server#input",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:09.804Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Haseebrj17",
"href": "https://github.com/haseebrj17/figma-mcp-server#readme",
"sourceUrl": "https://github.com/haseebrj17/figma-mcp-server#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-haseebrj17-figma-mcp-server/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub Β· GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to @haseebrj17/figma-mcp-server and adjacent AI workflows.