openhive-mcp-server 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +28 -8
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -53,7 +53,7 @@ async function apiRequest(path, options = {}) {
53
53
  return data.data;
54
54
  }
55
55
 
56
- const server = new McpServer({ name: 'openhive', version: '1.4.0' });
56
+ const server = new McpServer({ name: 'openhive', version: '1.5.0' });
57
57
 
58
58
  // ── Posts ──
59
59
 
@@ -781,17 +781,22 @@ server.tool('get_default_brand', 'Retorna o brand padrao do usuario (se houver).
781
781
  return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
782
782
  });
783
783
 
784
- server.tool('create_brand', 'Cria um novo brand com identidade visual. Aceita website_url e instagram_url para que agentes possam pesquisar informacoes da marca', {
784
+ server.tool('create_brand', 'Cria um novo brand com identidade visual completa: 6 cores (primary, secondary, accent, background, text, muted) + 3 fontes (display, heading, body). Aceita website_url e instagram_url para que agentes possam pesquisar referencias', {
785
785
  name: z.string().describe('Nome do brand'),
786
786
  logo_url: z.string().optional().describe('URL do logo'),
787
- primary_color: z.string().optional().describe('Cor primaria em hex (#RRGGBB)'),
788
- secondary_color: z.string().optional().describe('Cor secundaria em hex (#RRGGBB)'),
789
- accent_color: z.string().optional().describe('Cor de destaque em hex'),
790
- font_family: z.string().optional().describe('Familia de fonte preferida'),
787
+ primary_color: z.string().optional().describe('Cor primaria em hex (#RRGGBB) - cor principal da marca'),
788
+ secondary_color: z.string().optional().describe('Cor secundaria em hex - cor de apoio'),
789
+ accent_color: z.string().optional().describe('Cor de destaque em hex - usada em CTAs e highlights'),
790
+ background_color: z.string().optional().describe('Cor de fundo em hex - cor base dos slides'),
791
+ text_color: z.string().optional().describe('Cor de texto principal em hex'),
792
+ muted_color: z.string().optional().describe('Cor neutra/muted em hex - bordas, textos secundarios'),
793
+ font_family: z.string().optional().describe('Familia de fonte display/principal (ex: Inter Variable)'),
794
+ heading_font: z.string().optional().describe('Fonte para titulos (ex: Sora, Geist)'),
795
+ body_font: z.string().optional().describe('Fonte para textos longos/body (ex: Inter)'),
791
796
  description: z.string().optional().describe('Descricao do brand'),
792
797
  voice_tone: z.string().optional().describe('Tom de voz: profissional, descontraido, educativo'),
793
798
  website_url: z.string().optional().describe('URL do site oficial - agentes podem visitar para pesquisar informacoes e contexto'),
794
- instagram_url: z.string().optional().describe('URL do perfil Instagram - agentes podem analisar o estilo visual e de conteudo para manter consistencia'),
799
+ instagram_url: z.string().optional().describe('URL do perfil Instagram - agentes podem analisar o estilo visual e de conteudo'),
795
800
  products: z.array(z.string()).optional().describe('Lista de produtos/servicos'),
796
801
  default_hashtags: z.array(z.string()).optional().describe('Hashtags padrao a aplicar nos posts'),
797
802
  is_default: z.boolean().optional().describe('Se este sera o brand padrao'),
@@ -802,7 +807,12 @@ server.tool('create_brand', 'Cria um novo brand com identidade visual. Aceita we
802
807
  primaryColor: input.primary_color,
803
808
  secondaryColor: input.secondary_color,
804
809
  accentColor: input.accent_color,
810
+ backgroundColor: input.background_color,
811
+ textColor: input.text_color,
812
+ mutedColor: input.muted_color,
805
813
  fontFamily: input.font_family,
814
+ headingFont: input.heading_font,
815
+ bodyFont: input.body_font,
806
816
  description: input.description,
807
817
  voiceTone: input.voice_tone,
808
818
  websiteUrl: input.website_url,
@@ -817,14 +827,19 @@ server.tool('create_brand', 'Cria um novo brand com identidade visual. Aceita we
817
827
  return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
818
828
  });
819
829
 
820
- server.tool('update_brand', 'Atualiza um brand existente', {
830
+ server.tool('update_brand', 'Atualiza um brand existente. Todos os campos sao opcionais - so envie o que quer mudar', {
821
831
  brand_id: z.string().describe('ID do brand'),
822
832
  name: z.string().optional(),
823
833
  logo_url: z.string().optional(),
824
834
  primary_color: z.string().optional(),
825
835
  secondary_color: z.string().optional(),
826
836
  accent_color: z.string().optional(),
837
+ background_color: z.string().optional(),
838
+ text_color: z.string().optional(),
839
+ muted_color: z.string().optional(),
827
840
  font_family: z.string().optional(),
841
+ heading_font: z.string().optional(),
842
+ body_font: z.string().optional(),
828
843
  description: z.string().optional(),
829
844
  voice_tone: z.string().optional(),
830
845
  website_url: z.string().optional(),
@@ -839,7 +854,12 @@ server.tool('update_brand', 'Atualiza um brand existente', {
839
854
  if (input.primary_color !== undefined) body.primaryColor = input.primary_color;
840
855
  if (input.secondary_color !== undefined) body.secondaryColor = input.secondary_color;
841
856
  if (input.accent_color !== undefined) body.accentColor = input.accent_color;
857
+ if (input.background_color !== undefined) body.backgroundColor = input.background_color;
858
+ if (input.text_color !== undefined) body.textColor = input.text_color;
859
+ if (input.muted_color !== undefined) body.mutedColor = input.muted_color;
842
860
  if (input.font_family !== undefined) body.fontFamily = input.font_family;
861
+ if (input.heading_font !== undefined) body.headingFont = input.heading_font;
862
+ if (input.body_font !== undefined) body.bodyFont = input.body_font;
843
863
  if (input.description !== undefined) body.description = input.description;
844
864
  if (input.voice_tone !== undefined) body.voiceTone = input.voice_tone;
845
865
  if (input.website_url !== undefined) body.websiteUrl = input.website_url;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openhive-mcp-server",
3
- "version": "1.4.0",
4
- "description": "OpenHive AI MCP Server - Connect Claude, Antigravity, Cursor and other IDEs to your OpenHive instance. 39 tools including Design Systems library (58 brand inspirations), Brands, Mixed Carousel.",
3
+ "version": "1.5.0",
4
+ "description": "OpenHive AI MCP Server - Connect Claude, Antigravity, Cursor and other IDEs to your OpenHive instance. 39 tools including Design Systems library (58 brand inspirations), Brands (6 colors + 3 fonts), Mixed Carousel.",
5
5
  "main": "index.js",
6
6
  "bin": {
7
7
  "openhive-mcp": "./index.js"