Back to Home
northernvariables icon

CanadaGPT

by northernvariables

Overview

Provides an LLM-powered conversational interface and knowledge graph for Canadian federal parliamentary and legal information, including MPs, bills, votes, debates, lobbying, and financial data.

Installation

Run Command
python -m fedmcp.server

Environment Variables

  • NEO4J_URI
  • NEO4J_USER
  • NEO4J_PASSWORD
  • CANLII_API_KEY
  • POSTGRES_URI
  • FRONTEND_API_KEY
  • PUBLIC_API_KEY
  • ADMIN_API_KEY
  • JWT_SECRET
  • AUTH_SECRET
  • GRAPHIQL_ALLOWED_IPS
  • GRAPHQL_PLAYGROUND
  • GRAPHQL_INTROSPECTION
  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • ANTHROPIC_API_KEY
  • OPENAI_API_KEY
  • ENCRYPTION_KEY
  • STRIPE_SECRET_KEY
  • NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
  • STRIPE_WEBHOOK_SECRET
  • CRON_SECRET
  • GITHUB_FEEDBACK_TOKEN
  • GITHUB_FEEDBACK_REPO
  • RESEND_FROM_EMAIL
  • RESEND_FROM_NAME
  • FEDMCP_API_URL
  • NEXTAUTH_URL
  • NEXTAUTH_SECRET
  • NEXT_PUBLIC_APP_URL
  • NEXT_PUBLIC_GRAPHQL_URL
  • NEXT_PUBLIC_GRAPHQL_API_KEY

Security Notes

The project demonstrates strong intentions for security, including DoS prevention, robust API key management (SHA-256 hashing, tiered permissions), rate limiting, error sanitization, and mandatory GCP Secret Manager integration for production. However, several critical security tasks are explicitly listed as 'REMAINING TASKS' in the 'SECURITY_IMPLEMENTATION.md', such as full authentication integration into the GraphQL server, IP whitelisting for GraphiQL, and Neo4jGraphQL authorization. Furthermore, placeholder passwords like 'REDACTED_NEO4J_PASSWORD' are present as default values in environment variable lookups and Docker configurations, posing a significant risk if not overridden, particularly in non-production environments.

Similar Servers

Stats

Interest Score34
Security Score4
Cost ClassHigh
Avg Tokens5000
Stars3
Forks1
Last Update2026-01-19

Tags

Canadian politicsLegal dataParliamentary dataAI chatKnowledge graphData pipelineFinancial transparencyLobbyingAccountability