Plataforma web para desenvolvedores compartilharem e descobrirem tech stacks, permitindo cadastrar sistemas (frontend, backend, mobile) com suas respectivas linguagens, frameworks e bibliotecas. O diferencial é a integração com um servidor MCP (Model Context Protocol) para conectar assistentes de IA como GitHub Copilot e Claude Desktop, possibilitando consultas e interações automatizadas com os dados dos stacks.1234
Criar uma comunidade simplificada onde desenvolvedores possam documentar, compartilhar e descobrir tech stacks de projetos, com suporte a IA através de MCP para consultas inteligentes.51
- Facilitar a descoberta de tecnologias por categoria (frontend, backend, mobile)
- Permitir documentação rica em Markdown para detalhamento dos stacks2
- Integrar com assistentes de IA para consultas contextuais sobre stacks67
- Criar uma base de conhecimento pesquisável de decisões tecnológicas
- Criação de stack com nome, descrição e tipo (Frontend/Backend/Mobile)
- Seleção múltipla de linguagens de programação
- Seleção múltipla de frameworks
- Seleção múltipla de bibliotecas/pacotes
- Descrição detalhada em Markdown com suporte a formatação rica2
- Marcação de stacks como públicos ou privados
- Listagem de stacks públicos com filtros por tipo
- Busca por tecnologia específica (linguagem, framework, biblioteca)
- Visualização de stacks de outros usuários
- Comparação de tecnologias lado a lado1
- Exposição de ferramentas via MCP para consulta de stacks46
- Integração com GitHub Copilot (VS Code)89
- Integração com Claude Desktop1011
- Ferramentas disponíveis: buscar stacks, listar tecnologias, consultar uso de tecnologias
- Dashboard com stacks criados
- Estatísticas de tecnologias mais usadas
- Autenticação via email/senha ou OIDC (Keycloak, Logto)12
- Framework: .NET 8+ (C#) com ASP.NET Core Web API126
- Banco de Dados: PostgreSQL com EF Core Migrations12
- Autenticação: ASP.NET Core Identity + OIDC (Keycloak/Logto opcional)12
- Logging: Serilog12
- Observabilidade: OpenTelemetry12
- MCP SDK: ModelContextProtocol NuGet package (preview)6
- Framework: React 18+ com TypeScript
- Estilização: Tailwind CSS + ShadCN UI components12
- Editor Markdown: React-Markdown ou MDXEditor
- State Management: React Query + Context API
- Roteamento: React Router
- Unitários: xUnit (backend)12
- Integração: WebApplicationFactory + Testcontainers (PostgreSQL)
- E2E: Playwright12
- Containerização: Docker + Docker Compose
- CI/CD: GitHub Actions ou Azure DevOps
- Deploy: Azure App Service ou Kubernetes
/api/stacks
GET / - Lista stacks públicos (com paginação/filtros)
GET /{id} - Detalhes de um stack
POST / - Cria novo stack
PUT /{id} - Atualiza stack
DELETE /{id} - Remove stack
/api/stacks/search
GET ?q=react - Busca por tecnologia
/api/technologies
GET /languages - Lista linguagens disponíveis
GET /frameworks - Lista frameworks disponíveis
GET /libraries - Lista bibliotecas disponíveis
/api/users
GET /me - Perfil do usuário autenticado
GET /me/stacks - Stacks do usuário
O servidor MCP será implementado como um processo separado que expõe ferramentas para assistentes de IA:34
Ferramentas Disponíveis:
search_stacks- Busca stacks por nome, tecnologia ou descriçãoget_stack_details- Obtém detalhes completos de um stacklist_technologies- Lista todas as tecnologias cadastradasget_popular_technologies- Retorna tecnologias mais usadascompare_stacks- Compara dois stacks lado a lado
Configuração para Clientes:
- Claude Desktop: Configuração em
claude_desktop_config.json11 - VS Code Copilot: Detecção automática via
.vscode/mcp.json98 - Protocolo: HTTP/SSE ou WebSocket3
public class User
{
public Guid Id { get; set; }
public string Email { get; set; }
public string Name { get; set; }
public DateTime CreatedAt { get; set; }
public ICollection<Stack> Stacks { get; set; }
}public class Stack
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; } // Markdown
public StackType Type { get; set; } // Frontend/Backend/Mobile
public bool IsPublic { get; set; }
public Guid UserId { get; set; }
public User User { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
public ICollection<StackTechnology> Technologies { get; set; }
}
public enum StackType
{
Frontend,
Backend,
Mobile
}public class Technology
{
public Guid Id { get; set; }
public string Name { get; set; }
public TechnologyCategory Category { get; set; }
public string? Description { get; set; }
public string? IconUrl { get; set; }
public ICollection<StackTechnology> Stacks { get; set; }
}
public enum TechnologyCategory
{
Language,
Framework,
Library
}public class StackTechnology
{
public Guid StackId { get; set; }
public Stack Stack { get; set; }
public Guid TechnologyId { get; set; }
public Technology Technology { get; set; }
}MyStackShare.MCP/
├── Program.cs
├── Tools/
│ ├── SearchStacksTool.cs
│ ├── GetStackDetailsTool.cs
│ ├── ListTechnologiesTool.cs
│ └── CompareStacksTool.cs
├── Services/
│ └── StackShareApiClient.cs
└── MyStackShare.MCP.csproj
// Program.cs
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using ModelContextProtocol;
var builder = Host.CreateApplicationBuilder(args);
builder.Services.AddMcpServer()
.AddTool<SearchStacksTool>()
.AddTool<GetStackDetailsTool>()
.AddTool<ListTechnologiesTool>()
.AddTool<CompareStacksTool>();
builder.Services.AddHttpClient<StackShareApiClient>();
var app = builder.Build();
await app.RunAsync();{
"mcpServers": {
"mystackshare": {
"command": "dotnet",
"args": ["run", "--project", "/path/to/MyStackShare.MCP"],
"env": {
"API_BASE_URL": "https://localhost:5001/api",
"API_KEY": "your-api-key"
}
}
}
}- Padrão: Email/senha com ASP.NET Core Identity12
- Opcional: OIDC com Keycloak ou Logto (configurável por variável de ambiente)12
- Token: JWT para API REST
- MCP: API Key para autenticação do servidor MCP11
- Stacks privados só acessíveis pelo criador
- API Key do MCP com rate limiting
- CORS configurado para frontend
- Hero section explicando o propósito
- Estatísticas da plataforma (stacks cadastrados, tecnologias)
- Stacks em destaque/populares
- Lista de stacks do usuário
- Botão "Criar Novo Stack"
- Estatísticas pessoais
- Formulário com nome, tipo, descrição
- Seleção múltipla de tecnologias (com autocomplete)
- Editor Markdown com preview
- Toggle público/privado
- Informações do stack
- Tecnologias organizadas por categoria
- Descrição renderizada (Markdown)
- Informações do autor
- Grid de cards de stacks
- Filtros por tipo e tecnologias
- Busca por texto
- Testes de domínio e lógica de negócio
- Testes de services e repositories
- Testes das ferramentas MCP12
- Testes de API endpoints com WebApplicationFactory
- Testcontainers para PostgreSQL
- Testes de autenticação/autorização12
- Fluxo completo de cadastro de stack
- Busca e navegação
- Autenticação12
- Setup do projeto (.NET + React + PostgreSQL)
- Autenticação básica (email/senha)
- Modelo de dados e migrations
- CRUD de stacks (backend)
- Interface de criação/edição de stack
- Suporte a Markdown
- Dashboard do usuário
- Páginas de listagem e busca
- Implementação do servidor MCP em C#6
- Ferramentas básicas (search, get details, list)
- Configuração para Claude Desktop11
- Testes de integração com Copilot8
- OIDC opcional
- Testes E2E
- Documentação
- Deploy
Antes de iniciar o desenvolvimento, seria importante esclarecer:
- Cadastro de Tecnologias: As tecnologias (linguagens, frameworks, bibliotecas) serão pré-cadastradas por admin ou os usuários podem adicionar novas tecnologias livremente?
- Autenticação MCP: O servidor MCP deve autenticar usuários individuais ou usar uma API key global para acesso aos dados públicos?
- Recursos Sociais: Deseja funcionalidades como comentários, likes, ou seguir outros usuários? Ou manter o foco apenas em cadastro e busca?
- Versionamento: Stacks devem ter histórico de versões para acompanhar mudanças ao longo do tempo?
- Categorização Adicional: Além de Frontend/Backend/Mobile, deseja outras categorizações como "DevOps", "Data", "Testing"?
- Integração com GitHub: Seria útil detectar automaticamente tecnologias de repositórios GitHub dos usuários? 1314151617181920
Footnotes
-
https://stackshare.io/posts/introducing-stackshare-the-worlds-first-tech-stack-intelligence-platform ↩ ↩2 ↩3
-
https://northflank.com/blog/how-to-build-and-deploy-a-model-context-protocol-mcp-server ↩ ↩2 ↩3
-
https://towardsdatascience.com/model-context-protocol-mcp-tutorial-build-your-first-mcp-server-in-6-steps/ ↩ ↩2 ↩3
-
https://devblogs.microsoft.com/dotnet/build-a-model-context-protocol-mcp-server-in-csharp/ ↩ ↩2 ↩3 ↩4 ↩5
-
https://docs.github.com/copilot/customizing-copilot/using-model-context-protocol/extending-copilot-chat-with-mcp ↩ ↩2 ↩3
-
https://code.visualstudio.com/docs/copilot/customization/mcp-servers ↩ ↩2
-
https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-mcp ↩
-
https://www.linkedin.com/pulse/talk-your-data-from-github-copilot-claude-without-rupert-barrow-u6c0e ↩ ↩2 ↩3 ↩4
-
https://www.vcstack.io/product/stackshare ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14
-
https://www.reddit.com/r/Doesthisexist/comments/1b90cad/an_app_for_sharing_your_tech_stack_with_friends/ ↩