Skip to main content
Glama

mcp-google-sheets

auth.ts2.21 kB
import { PieceAuth, Property } from '@activepieces/pieces-framework'; import { AtpAgent } from '@atproto/api'; export interface BlueSkyAuthType { pdsHost?: string; identifier: string; password: string; } const description = ` To authenticate with Bluesky: 1. **PDS Host**: The Personal Data Server host. Leave empty to use the default Bluesky network (https://bsky.social). 2. **Identifier**: Your Bluesky handle (e.g., yourhandle.bsky.social) or email address. 3. **Password**: Your Bluesky account password or app password. For enhanced security, consider using an app password from your Bluesky account settings. `; export const blueskyAuth = PieceAuth.CustomAuth({ description: description, required: true, props: { pdsHost: Property.ShortText({ displayName: 'PDS Host', description: 'The Personal Data Server host. Leave empty for default Bluesky network (https://bsky.social)', required: false, defaultValue: 'https://bsky.social', }), identifier: Property.ShortText({ displayName: 'Identifier', description: 'Your Bluesky handle or email address', required: true, }), password: PieceAuth.SecretText({ displayName: 'Password', description: 'Your Bluesky account password or app password', required: true, }), }, validate: async ({ auth }) => { try { const agent = new AtpAgent({ service: auth.pdsHost || 'https://bsky.social', }); await agent.login({ identifier: auth.identifier, password: auth.password, }); return { valid: true, }; } catch (error: any) { if (error.message?.includes('Invalid identifier or password')) { return { valid: false, error: 'Invalid credentials. Please check your identifier and password.', }; } else if (error.message?.includes('Invalid request')) { return { valid: false, error: 'Invalid request. Please check your identifier format.', }; } else { return { valid: false, error: `Authentication failed: ${error.message || 'Unknown error'}`, }; } } }, });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server