From 738f0ad86dc352d372da6881ffc1ae515d4315f3 Mon Sep 17 00:00:00 2001 From: czlonkowski <56956555+czlonkowski@users.noreply.github.com> Date: Sat, 18 Oct 2025 18:28:32 +0200 Subject: [PATCH] feat: Add MCP server icon support (SEP-973) v2.20.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements custom server icons for MCP clients according to the MCP specification SEP-973. Icons enable better visual identification of the n8n-mcp server in MCP client interfaces. Features: - Added 3 icon sizes: 192x192, 128x128, 48x48 (PNG format) - Icons served from https://www.n8n-mcp.com/logo*.png - Added websiteUrl field pointing to https://n8n-mcp.com - Server version now uses package.json (PROJECT_VERSION) instead of hardcoded '1.0.0' Changes: - Upgraded @modelcontextprotocol/sdk from ^1.13.2 to ^1.20.1 - Updated src/mcp/server.ts with icon configuration - Bumped version to 2.20.0 - Updated CHANGELOG.md with release notes Testing: - All icon URLs verified accessible (HTTP 200, CORS enabled) - Build passes, type checking passes - No breaking changes, fully backward compatible Icons won't display in Claude Desktop yet (pending upstream UI support), but will appear automatically when support is added. Other MCP clients may already support icon display. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ data/nodes.db | Bin 62623744 -> 62623744 bytes package-lock.json | 12 ++++++------ package.json | 4 ++-- src/mcp/server.ts | 20 +++++++++++++++++++- 5 files changed, 57 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 503ef7c..86392f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.20.0] - 2025-10-18 + +### ✨ Features + +**MCP Server Icon Support (SEP-973)** + +- Added custom server icons for MCP clients + - Icons served from https://api.n8n-mcp.com/public/logo-*.png + - Multiple sizes: 48x48, 128x128, 192x192 + - Future-proof for Claude Desktop icon UI support +- Added websiteUrl field pointing to https://n8n-mcp.com +- Server now reports correct version from package.json instead of hardcoded '1.0.0' + +### 📦 Dependency Updates + +- Upgraded `@modelcontextprotocol/sdk` from ^1.13.2 to ^1.20.1 + - Enables icon support as per MCP specification SEP-973 + - No breaking changes, fully backward compatible + +### 🔧 Technical Improvements + +- Server version now dynamically sourced from package.json via PROJECT_VERSION +- Enhanced server metadata to include branding and website information + +### 📝 Notes + +- Icons won't display in Claude Desktop yet (pending upstream UI support) +- Icons will appear automatically when Claude Desktop adds icon rendering +- Other MCP clients (Cursor, Windsurf) may already support icon display + ## [2.19.6] - 2025-10-14 ### 📦 Dependency Updates diff --git a/data/nodes.db b/data/nodes.db index 4111320c5bfe72e6e9ad6e13c3f35d3cc5d4693d..e6e795daa589cd62bf158636ce772bce94101dba 100644 GIT binary patch delta 3601 zcmWmDW7`l007l^#*|u%lw(Xv5+kC1w+qP}HwrpEl*47r*P9N?+aIWhNUHmrjP)tq` zV{7SvfP#Ah0^(-~2nf6w5E%cg6 zD~c7>ie^Q(VpuV)SXOK+juqF6XT`S?SP88}R$?oOmDEaRCAU&oDXmmiYAcPE)=Fok zw=!56txQ&CD~pxY%4TJ^a#%U7Tvl!?kCoTTXXUpFSOu*@R$;4%Rn#hG6}L)QC9P6c zX{(G?)+%R}w<=f_tx8s9tBO_Cs%BNUYFIU`T2^hVj#byHXVteFSPiX4R%5G))zqR- zGpo7P!fI)?vRYehthQD=tG(61>S%ScI$K?=u2wgzyVb+$Y4x&tTYap)RzIu1HNYBZ z4YCGXL#(0JFl)Fq!WwDW8fA^P##kZNSZka$-kM-dv?f`Tttr-2YnnCPnqkefW?8eX zIo4cjo;BZEU@f#3S&OYD)>3PkwcJ`^t+ZBItF1NGT5FxP-r8Vov^H6rtu5A8Yn!#* z+F|Xqc3HcvJ=R`ppS9mQU>&p$S%)oy&S?ip2-nw92 zv@Thftt-}5>zZ}lx?$b4ZdtdjJJwz6o^{`PU_G=RS&ywJ)>G@5_1t=4{bBuSy|i9g zudO%MTkDzno6`eFTN{R~my1O*}p!3c%W2!pT) zhwzAih=_#9h=QnyhUkcan23egh=aI@hxkZ4JD1)*nhw`X^il~Ij zsDi4fhU%z+ny7`^sDrwwhx%xMhG>MwXo9Br)xQ~{ zx}qDpqX&AT7kZ-)`l28DV*mzX5C&rihGH0oV+2OR7=_UogAk0xIE=>xOvEHi#uQA& zG)%_~%)~6r#vIJWJj}-eEW{!##u6;WGAzdmti&p;#u}`}I;_VAY{VvP#ujYFHf+ZZ z?8GkY#vbg&KJ3Q<9K<0U#t|IFF&xJUoWv=d#&7r?XK)tha2^+M5tncoS8x^Aa2+>r z6Sr_1cW@W?a32rw5RdQ}Pw*7a@EkAj2mZuMyuxd|!CSn;dwjr0e8Ok^g}?Cy|KMMI z#W#G%5B!IpfguWFe*_^Ip%5Bj5EkJO9uW``kq{YC5Eao79Wf9Su@D<^5Etb93@Z^rBE7WP!{D-9u-g#l~5T~P!-is9W_uBwNM*%P#5)39}UnDjnEiP&=kM= zH$!u@KufejYqUXIv_pGzKu2^!XLLbVbVGOaKu`2SZ}dT5^h19Pz(5SbU<|=f48w4Y zz(^RQFdAbJg0UEf@tA;#n1sogf~lB>>6n3;n1$JxgSnW8`B;F3ScJt`f~8o78~sH@@H>{EM&nhVS@+|L`*?M8WKjAOs^6LL&^qA{@da0wN+3 zA|nc-A{wG224W%>Vj~XXA|B!+0TLn+5+ezcA{mk+1yUjvQX>u0A|28r12Q5LG9wGJ zA{(+J2XZ18aw8A&A|LXj01BcI3Zn>$q8N&!1WKY5N}~+Qq8!Sj0xF^sDx(Ujq8h5B z25O=fYNHP7q8{p_0UDwa8lwrC;#dD>XpRXpau)h)(E?F6fGG=#C!f ziC*Z9KIn^n=#K#yh(Q>PAsC8b7>*Gb31bvSV+=wt7UM7;6EG2zFd0)Y71J;sGcXgg zFdK6)7xOS53$PH2uoz3Q6w9z2E3gu)uo`Qy7VEGc8?X_Zuo+vh72B{KJFpYGup4`@ MH~4_|1uvfTKaY(<4*&oF delta 3601 zcmWmDW1A2N07cMLog|R z^bKDF0t)O72#A+HARxqrfDn;8PR^J;aKqQ3vO-vaR*)6a3T1`1!dPLga8`ILf)&w< zWJR{3SW&HLR&*)<+k!zd98d_eyf00&?;mVwu)FqtzuSjtAth3 zDrJ?n%2;Ksa#ne(f>qI~WL37RSXHfRR&}d}Rnw|v)wb$bb**|D ztbx`bYp^xM8fp!*hFc>nTO+Me)@Uo(8e@&M##!U73D!hwk~P_yVokNCS<|f<)=X=b zHQSnF&9&xP^Q{HeLTiz=*ji#OwU$}StrgZvYn8RyT4SxX)>-SV4c10$leO8}Vr{jy zS=+50)=q1ewcFZb?X~t<`>g}kLFy&lcI%A!+&ROTJ z3)V&Jl6Bd-VqLYaS=X%_)=le{b=$gQ-L>vn_pJxkL+g?C*!s)*+j?R>wVqketryly z>y`D|dSkt{-dXRh57tNPll71Ful3pbVtuu~S>LT6)=%p{>sPQsj8_N*A_yT73ZW4O zVG$1D5djeq36T*6Q4tN%5d$$13$YOgaS;#kkpKyi2#JvdNs$c6kpd}^3aOC>X^{@; zkpUTz37L@vS&jWjj|rHFNtlc& zn2Kqbjv1JVS(uGEn2ULsj|EtWMOcg_Sc+v>julvmRalKRSc`R7j}6#}P1uYr*otk~ zjvd&EUD%C1*o%GGj{`V}L-+%K;xLZjD30McPT(X?;WW5v{7kP(@X8Cj4O*^nJMkQ2F(8+niy`H&w4P!NSs z7)4MN#ZVk2P!gq38f8!xDtgfQgud$(Vwvn1<?rv zPT~|!;|$K?9M0ncF5(g{;|i|g8m{98ZsHbh;|}iP9`54-9^w%m<1hS;CwPiyc#ao% ziC1`yH+YM8c#jYGh)?(j|Kc;g;48l2JAU9N{==`pUf~u&7 z>ZpO5sD;|7gSx1P`e=ZLXoSXSg5Uj{q8XZ_1zMsNTB8lxq8-|!13ID;I-?7^q8qxS z2YR9xdZQ2eq96KW00v?Z24e_@Vi<;F1dNdwh0zGc7>va@jK>5_#3W3{6imf5Oven& z#4OCl9L&W$%*O&O#3C%l5-i0sEXNA0#44=D8mz@Stj7jy#3pRU7Hq{fY{w4l#4hZ{ Mo}m5O8?