Skip to main content
Glama

FreeAgent MCP Server

by markpitt
get-oauth-tokens.js1.98 kB
#!/usr/bin/env node import express from 'express'; import axios from 'axios'; import open from 'open'; // Command line arguments const clientId = process.argv[2]; const clientSecret = process.argv[3]; const port = 3456; const redirectUri = `http://localhost:${port}/oauth/callback`; const authUrl = 'https://api.freeagent.com/v2/approve_app'; const tokenUrl = 'https://api.freeagent.com/v2/token_endpoint'; if (!clientId || !clientSecret) { console.error('Usage: node get-oauth-tokens.js <client_id> <client_secret>'); process.exit(1); } console.log('Using client ID:', clientId); const app = express(); app.get('/oauth/callback', async (req, res) => { const { code } = req.query; if (!code) { res.send('Error: No code received'); return; } try { const response = await axios.post(tokenUrl, { grant_type: 'authorization_code', code, client_id: clientId, client_secret: clientSecret, redirect_uri: redirectUri }); const { access_token, refresh_token } = response.data; console.log('\nAdd these tokens to your MCP settings:\n'); console.log(`FREEAGENT_ACCESS_TOKEN=${access_token}`); console.log(`FREEAGENT_REFRESH_TOKEN=${refresh_token}`); res.send('Success! You can close this window and check the console for your tokens.'); setTimeout(() => process.exit(0), 1000); } catch (error) { console.error('Error getting tokens:', error.response?.data || error.message); res.send('Error getting tokens. Check the console for details.'); } }); const server = app.listen(port, () => { const authUrlWithParams = `${authUrl}?client_id=${clientId}&response_type=code&redirect_uri=${redirectUri}`; console.log('Opening browser for authorization...'); open(authUrlWithParams); }); server.on('error', (err) => { console.error('Server error:', err); process.exit(1); });

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/markpitt/freeagent-mcp'

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