1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
mod client; mod server; mod types; use client::GitHubClient; use rmcp::{ServiceExt, transport::stdio}; use server::GitHubServer; use std::sync::Arc; #[tokio::main] async fn main() -> anyhow::Result<()> { let token = std::env::var("GITHUB_TOKEN") .or_else(|_| std::env::var("GITHUB_PERSONAL_ACCESS_TOKEN")) .unwrap_or_default(); let client = Arc::new(GitHubClient::new(token)); let server = GitHubServer { client }; let service = server.serve(stdio()).await?; service.waiting().await?; Ok(()) }