{"name":"io.github.cyanheads/exchange-rates-mcp-server","slug":"cyanheads-exchange-rates-mcp-server","title":null,"description":"Convert currencies, get FX rates, and query historical Frankfurter v1 exchange rate data.","url":"https://mcp.market/server/cyanheads-exchange-rates-mcp-server","rating":null,"grade":"A","score":86,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":36,"stars":1,"forks":0,"downloads_week":396,"last_push_at":"2026-09-19T18:49:11.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:45:46.067Z","last_ok_at":"2026-11-04T05:45:46.067Z","latency_ms":219},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cyanheads/exchange-rates-mcp-server","website":null,"version":"0.6.0","remotes":[{"type":"streamable-http","url":"https://exchange-rates.caseyjhand.com/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/exchange-rates-mcp-server","version":"0.6.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Frankfurter API base URL. Override for local testing or self-hosted instances.","format":"string","default":"https://api.frankfurter.dev/v1","name":"FRANKFURTER_BASE_URL"},{"description":"Day range above which fx_get_timeseries considers automatic DataCanvas staging for SQL analytics. Without canvas_id, series that fit the preview remain inline. DataCanvas is on by default; CANVAS_PROVIDER_TYPE=none returns ranges inline when canvas_id is omitted and rejects explicit staging.","format":"string","default":"90","name":"FX_TIMESERIES_CANVAS_THRESHOLD_DAYS"},{"description":"Enable fx_dataframe_drop, which permanently removes one staged table or view from a DataCanvas. Disabled by default; the tool is not registered (absent from tools/list) until set to true.","format":"string","default":"false","name":"FX_ENABLE_CANVAS_DROP"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/exchange-rates-mcp-server","version":"0.6.0","runtimeHint":"npx","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"environmentVariables":[{"description":"Selects the HTTP transport.","format":"string","value":"http","name":"MCP_TRANSPORT_TYPE"},{"description":"Frankfurter API base URL. Override for local testing or self-hosted instances.","format":"string","default":"https://api.frankfurter.dev/v1","name":"FRANKFURTER_BASE_URL"},{"description":"Day range above which fx_get_timeseries considers automatic DataCanvas staging for SQL analytics. Without canvas_id, series that fit the preview remain inline. DataCanvas is on by default; CANVAS_PROVIDER_TYPE=none returns ranges inline when canvas_id is omitted and rejects explicit staging.","format":"string","default":"90","name":"FX_TIMESERIES_CANVAS_THRESHOLD_DAYS"},{"description":"Enable fx_dataframe_drop, which permanently removes one staged table or view from a DataCanvas. Disabled by default; the tool is not registered (absent from tools/list) until set to true.","format":"string","default":"false","name":"FX_ENABLE_CANVAS_DROP"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"tools":[],"scan":null,"grade_history":[],"reviews":[]}