diff --git a/packages/mcp-server/src/server.ts b/packages/mcp-server/src/server.ts index d8ba6d32e..49dbe7190 100644 --- a/packages/mcp-server/src/server.ts +++ b/packages/mcp-server/src/server.ts @@ -36,6 +36,8 @@ import { fetchForestSchema, getCollectionNames } from './utils/schema-fetcher'; import interceptResponseForErrorLogging from './utils/sse-error-logger'; import { NAME, VERSION } from './version'; +export const LOGO_URL = 'https://forest-assets.s3.us-east-1.amazonaws.com/logo-green.png'; + export type LogLevel = 'Debug' | 'Info' | 'Warn' | 'Error'; export type Logger = (level: LogLevel, message: string) => void; @@ -136,6 +138,7 @@ export default class ForestMCPServer { this.mcpServer = new McpServer({ name: NAME, version: VERSION, + icons: [{ src: LOGO_URL, mimeType: 'image/png' }], }); } diff --git a/packages/mcp-server/test/server.test.ts b/packages/mcp-server/test/server.test.ts index 8eb57b019..023c16a05 100644 --- a/packages/mcp-server/test/server.test.ts +++ b/packages/mcp-server/test/server.test.ts @@ -7,7 +7,7 @@ import request from 'supertest'; import createMockForestServerClient from './helpers/forest-server-client'; import getAvailablePort from './test-utils/get-available-port'; import MockServer from './test-utils/mock-server'; -import ForestMCPServer from '../src/server'; +import ForestMCPServer, { LOGO_URL } from '../src/server'; import { clearSchemaCache } from '../src/utils/schema-fetcher'; function shutDownHttpServer(server: http.Server | undefined): Promise { @@ -2282,3 +2282,12 @@ describe('ForestMCPServer Instance', () => { }); }); }); + +describe('Logo URL', () => { + it('should reference an accessible PNG image', async () => { + const response = await fetch(LOGO_URL, { method: 'HEAD' }); + + expect(response.ok).toBe(true); + expect(response.headers.get('content-type')).toContain('image/png'); + }); +});