wiki-mcp-server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
wiki-mcp-server
Servidor MCP (Model Context Protocol) serverless na AWS que conecta o Claude a uma wiki interna escrita em Markdown. Os colaboradores entram com o SSO da empresa e fazem perguntas no Claude (web, desktop, mobile ou Slack). O Claude busca e lê as páginas da wiki para responder, citando a fonte.
Sem RAG e sem banco vetorial. A wiki cabe inteira em memória, a busca é lexical e quem interpreta o conteúdo é o próprio modelo. Isso deixa o sistema mais simples, mais barato e mais fácil de auditar.
Arquitetura
flowchart LR
subgraph CICD["CI/CD"]
A[Autores<br/>git push + PR] --> R[(Repositório<br/>da wiki)]
R -->|merge na main| P[Pipeline<br/>tar.gz → S3]
end
subgraph AWS["Conta AWS"]
P --> S3[(S3 privado<br/>versionado)]
WAF[WAF + ALB<br/>allowlist de IPs<br/>HTTPS] --> L[Lambda<br/>servidor MCP]
L -->|carrega e indexa<br/>em memória| S3
L --> CW[CloudWatch<br/>logs e buscas sem resultado]
end
subgraph Anthropic
C[Claude<br/>conector personalizado]
end
U[Colaboradores] --> C
C -->|MCP via HTTPS<br/>+ Bearer token| WAF
U -.->|login OAuth<br/>uma vez| IdP[Provedor de identidade<br/>Entra ID / Okta / Cognito]
C -.-> IdPFluxo de uma pergunta
O colaborador pergunta algo no Claude.
O Claude chama o servidor MCP por HTTPS, enviando o token OAuth do usuário.
O WAF só deixa passar os IPs de saída da Anthropic. O ALB termina o TLS.
A Lambda valida o JWT (assinatura, emissor, audience, expiração e, opcionalmente, o grupo do usuário) e executa a ferramenta pedida.
Cada busca vai para o CloudWatch com a quantidade de resultados. As buscas sem resultado mostram onde falta documentação.
Ferramentas expostas ao Claude
Ferramenta | O que faz |
| Lista caminho e título das páginas (filtro por pasta opcional) |
| Busca por palavras-chave, sem diferenciar acentos, e retorna os trechos mais relevantes |
| Retorna o Markdown completo de uma página |
Related MCP server: mcp-wikijs
Decisões de design
Decisão | Por quê |
Busca lexical em vez de RAG | Para algumas centenas de páginas, embeddings acrescentam custo, latência e mais uma peça para manter. O modelo já reformula a busca e lê as páginas certas. |
Lambda stateless | O MCP via Streamable HTTP aceita servidores sem sessão: cada POST é independente. Sai barato em uso esporádico e não tem servidor para administrar. |
Wiki empacotada em | Um único objeto no S3 = um download por cold start. O ETag diz quando recarregar e o cache fica em memória entre invocações. |
WAF + JWT | Duas camadas: na rede, só o Claude alcança o endpoint; na aplicação, só usuários autenticados no IdP e do grupo certo. |
Metadados OAuth (RFC 9728) | O endpoint |
Estrutura
src/wiki_mcp/
handler.py # entrada HTTP (evento do ALB), rotas e resposta 401 com o desafio OAuth
mcp.py # JSON-RPC do MCP: initialize, tools/list, tools/call
wiki.py # carga, índice em memória, busca e leitura
auth.py # validação do JWT via JWKS do IdP
storage.py # download do tar.gz do S3 com cache por ETag
local.py # servidor local para desenvolvimento
infra/template.yaml # AWS SAM: S3, Lambda, ALB, WAF, logs
pipeline/buildspec.yml # CodeBuild: empacota a wiki e publica no S3
wiki/ # conteúdo de exemplo (empresa fictícia)
tests/ # pytestRodando localmente
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements-dev.txt
pytest -q
cd src && python -m wiki_mcp.local --wiki ../wiki --port 8000Teste com o MCP Inspector: rode npx @modelcontextprotocol/inspector, escolha Streamable HTTP e use a URL http://localhost:8000/mcp.
Deploy na AWS
sam build -t infra/template.yaml
sam deploy --guidedDepois do deploy:
Aponte o domínio para o
LoadBalancerDns(saída do stack).Configure a pipeline (CodePipeline + CodeBuild com
pipeline/buildspec.yml, ou GitHub Actions) para publicarwiki.tar.gzno bucket a cada merge.Registre um aplicativo OAuth no IdP e, no Claude, adicione um conector personalizado com a URL
McpEndpoint.
Sobre o projeto
Projeto pessoal para explorar como dar a um assistente de IA acesso seguro à base de conhecimento de uma empresa, cobrindo arquitetura serverless na AWS, protocolo MCP, autenticação OAuth/OIDC e infraestrutura como código. O conteúdo da wiki é fictício.
Desenvolvido com IA: a arquitetura, o código e os testes foram feitos em pair programming com o Claude (Claude Code), da discussão do desenho à implementação.
Licença
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Connect Claude, Cursor, or ChatGPT to your business data. Ask questions, get answers.
Hosted markdown project wikis your team's AI assistants read, search, and update over MCP.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables natural language query and ingestion of wiki knowledge bases built from documents, powered by Claude Agent SDK skills.2-
- AlicenseBqualityDmaintenanceConnects Claude to a Wiki.js instance, enabling page search, retrieval, listing, and creation.45 npmMIT
- AlicenseAqualityBmaintenanceEnables a shared, searchable knowledge base of project notes and status, accessible from Claude Code, Teams, CLI, and GitHub, with gated writes.4MIT
- AlicenseNot gradedqualityBmaintenanceGives Claude a single MCP connector to read and write a self-hosted Markdown vault as an LLM Wiki, keeping sources write-once while wiki pages, indexes and backlinks stay maintained. It also ingests articles and life logs from devices and services so the knowledge base keeps growing on its own.1MIT