Agente Canvas do Painel de IA
- OpenAI
- Gemini
Interfaces Generativas ·Avançado
ANTHROPIC_API_KEYGOOGLE_API_KEYOPENAI_API_KEYRESOURCE_URI_META_KEYLicença Apache-2.0 · conteúdo curado, traduzido e mantido pelo Doutor AI.
https://github.com/user-attachments/assets/48eeab8d-7845-4d06-83ef-d518a807da03
Reserva de voos, reserva de hotéis, gestão de portfólios e execução de um quadro kanban - tudo dentro do chat. Construído com CopilotKit, AG-UI e MCP Apps, a mostrar a Extensão MCP Apps (SEP-1865) para renderizar UIs interativas diretamente no chat.
Conceito Gen UI - apps em chat isoladas sobre um protocolo de ferramentas. O servidor MCP regista ferramentas (workout-generator, create-portfolio, create-board…) e liga cada uma a um recurso HTML/JS através de _meta["ui/resourceUri"]. Quando o agente chama uma ferramenta, o CopilotKit monta a app ligada como um iframe isolado no chat; o iframe comunica de volta com as ferramentas MCP através de JSON-RPC postMessage. Resultado: superfícies de produto completas e interativas (assistentes de múltiplos passos, quadros de arrastar e soltar, gráficos ao vivo) a funcionar em linha - lógica propriedade do servidor, apresentação propriedade do chat.
https://web-app-production-9af6.up.railway.app
| App | Description | Example Prompt |
|---|---|---|
| ✈️ Airline Booking | Assistente de 5 passos: pesquisar voos, selecionar lugares, inserir detalhes dos passageiros | "Book a flight from JFK to LAX on January 20th for 2 passengers" |
| 🏨 Hotel Booking | Assistente de 4 passos: pesquisar hotéis, comparar quartos, reservar alojamento | "Find a hotel in Paris from January 15 to 18 for 2 guests" |
| 📈 Investment Simulator | Gestão de portfólios com gráficos ao vivo, compras/vendas | "Create a $10,000 tech-focused portfolio" |
| 📋 Kanban Board | Gestão de tarefas com arrastar e soltar, colunas e cartões | "Create a kanban board for my software project" |
# From the mcp-apps directory
npm install
cd mcp-server
npm install
cd ..
Cria um ficheiro .env.local no diretório mcp-apps:
OPENAI_API_KEY=sk-...
Para compilar e executar o projeto, segue os passos abaixo:
npm install
npm run build
npm start
Após executar o comando npm start, o projeto estará disponível em http://localhost:3000.
Para executar os testes, utiliza o seguinte comando:
npm test
Se desejas contribuir para este projeto, por favor, segue estas instruções:
git checkout -b minha-nova-funcionalidade
git commit -m "Adiciona nova funcionalidade"
git push origin minha-nova-funcionalidade
Este projeto está licenciado sob a Licença MIT. Para mais informações, consulta o ficheiro [LICENSE](LICENSE).
# Terminal 1: Build and run MCP Server
cd mcp-server
npm run build
npm run dev
# Server runs at http://localhost:3001/mcp
# Terminal 2: Run Next.js Frontend (from mcp-apps directory)
npm run dev
# Frontend at http://localhost:3000
Open http://localhost:3000 e experimenta um dos exemplos de prompts!
As MCP Apps são aplicações interativas em HTML/JS que são renderizadas em iframes isolados dentro da barra lateral de chat. Elas comunicam-se com o servidor MCP através de JSON-RPC sobre postMessage.
User: "Book a flight from JFK to LAX"
↓
AI calls search-flights tool
↓
MCPAppsMiddleware intercepts, fetches HTML resource
↓
CopilotKit renders flights-app.html in iframe
↓
User interacts with wizard UI
↓
UI calls MCP tools via postMessage → server
O padrão de registo de ferramentas é uma abordagem que permite que as ferramentas sejam registadas e utilizadas de forma consistente em diferentes partes de uma aplicação. Este guia irá mostrar-te como implementar este padrão.
class ToolInterface:
def execute(self):
pass
class MyTool(ToolInterface):
def execute(self):
print("Executando MyTool")
class ToolRegistry:
def __init__(self):
self.tools = {}
def register_tool(self, name, tool):
self.tools[name] = tool
def get_tool(self, name):
return self.tools.get(name)
# Registar a ferramenta
registry = ToolRegistry()
registry.register_tool("my_tool", MyTool())
# Recuperar e executar a ferramenta
tool = registry.get_tool("my_tool")
if tool:
tool.execute()
Ao implementar o padrão de registo de ferramentas, assegura-te de que as ferramentas são facilmente extensíveis e que o sistema de registo é eficiente. Este padrão pode ajudar a manter a tua aplicação organizada e facilitar a adição de novas funcionalidades no futuro.
// Tool declares its UI resource via _meta
server.registerTool(
"search-flights",
{
inputSchema: { origin, destination, departureDate, passengers },
_meta: { "ui/resourceUri": "ui://flights/flights-app.html" },
},
handler,
);
// Resource serves the HTML
server.registerResource(
"flights-app",
"ui://flights/flights-app.html",
{
mimeType: "text/html+mcp", // Marks as MCP App
},
() => ({ contents: [{ text: htmlContent }] }),
);
mcp-apps/
├── src/app/
│ ├── page.tsx # Main demo page
│ └── api/copilotkit/route.ts # CopilotKit + MCPAppsMiddleware
├── mcp-server/
│ ├── server.ts # MCP server with all tools
│ ├── src/
│ │ ├── flights.ts # 15 airports, 6 airlines
│ │ ├── hotels.ts # 10 cities, 30 hotels
│ │ ├── stocks.ts # 18 stocks, portfolios
│ │ └── kanban.ts # Board templates
│ └── apps/
│ ├── flights-app.html # Airline booking wizard
│ ├── hotels-app.html # Hotel booking wizard
│ ├── trading-app.html # Investment simulator
│ └── kanban-app.html # Kanban board
└── README.md
@copilotkit/*) - Interface de chat AI com suporte para Apps MCP@modelcontextprotocol/sdk) - Servidor do Protocolo de Contexto de ModeloA demonstração está implementada no Railway com dois serviços:
| Serviço | URL |
|---|---|
| Web App | https://web-app-production-9af6.up.railway.app |
| Servidor MCP | https://mcp-server-production-bbb4.up.railway.app |
Para produção, define a variável de ambiente MCP_SERVER_URL para apontar para o teu servidor MCP implementado.
Um assistente de investigação profunda que planeia, pesquisa na web, escreve num sistema de ficheiros virtual e apresenta cada chamada de ferramenta c…
Um coach financeiro multi-agente que analisa o seu orçamento, planeia as suas poupanças e constrói estratégias de pagamento de dívidas - apresentadas …
Precisa de uma solução à medida?
Não sabe por onde começar a usar IA no seu negócio? Receba uma avaliação gratuita e um plano à medida - sem compromisso.
O Doutor AI dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe.