OpenSEO
Keyword research, site audits, rank tracking and AI visibility for your AI agent.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Self-hosted permission-aware context layer. Search returns only what the caller may read.เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 13 พ.ย. 2569
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Nacre (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
คัดลอกข้อความนี้ไปวางในแชตของ Claude AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Nacre ให้ Claude ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "nacre": { "command": "npx", "args": [ "-y", "@nacre.work/mcp" ], "env": { "NACRE_SERVICE_KEY": "ใส่ค่าของคุณ" } } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง NACRE_SERVICE_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Nacre ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
SettingsDeveloperEdit Config
{
"mcpServers": {
"nacre": {
"command": "npx",
"args": [
"-y",
"@nacre.work/mcp"
],
"env": {
"NACRE_SERVICE_KEY": "ใส่ค่าของคุณ"
}
}
}
}วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Nacre บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Nacre หรือมีชื่อเครื่องมือของ Nacre ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Nacre ไม่ได้
Nacre ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ Nacre ได้
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Nacre (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Claude Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Nacre ให้ Claude Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): claude mcp add --scope user nacre --env NACRE_SERVICE_KEY='ใส่ค่าของคุณ' -- npx -y @nacre.work/mcp 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง NACRE_SERVICE_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Nacre ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --scope user nacre --env NACRE_SERVICE_KEY='ใส่ค่าของคุณ' -- npx -y @nacre.work/mcpแก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ต้องเห็น Nacre ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ Nacre บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Nacre หรือมีชื่อเครื่องมือของ Nacre ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Nacre (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Cursor AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Nacre ให้ Cursor ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "nacre": { "command": "npx", "args": [ "-y", "@nacre.work/mcp" ], "env": { "NACRE_SERVICE_KEY": "ใส่ค่าของคุณ" } } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง NACRE_SERVICE_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Nacre ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ในค่าตั้งของ Nacre ช่อง NACRE_SERVICE_KEY ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Nacre บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Nacre หรือมีชื่อเครื่องมือของ Nacre ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Nacre (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ VS Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ Nacre ให้ VS Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Node.js ด้วยคำสั่ง node -v ถ้าไม่มี ให้บอกฉันไปลงจาก https://nodejs.org/en/download ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "servers": { "nacre": { "type": "stdio", "command": "npx", "args": [ "-y", "@nacre.work/mcp" ], "env": { "NACRE_SERVICE_KEY": "ใส่ค่าของคุณ" } } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ช่อง NACRE_SERVICE_KEY ให้คงคำว่า "ใส่ค่าของคุณ" ไว้ก่อน แล้วบอกให้ฉันวางค่าจริงเองในไฟล์หรือช่องของแอป ห้ามขอให้ฉันพิมพ์คีย์ในแชต 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ Nacre ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
node -vMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: เปิดหน้าดาวน์โหลดทางการ เลือกรุ่น LTS แล้วเลือกตัวติดตั้งแบบกดเอง: Mac ไฟล์ .pkg · Windows ไฟล์ .msi ดับเบิลคลิกแล้วกดถัดไปจนจบ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: node -v
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Node.js
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
ในค่าตั้งของ Nacre ช่อง NACRE_SERVICE_KEY ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Nacre บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Nacre หรือมีชื่อเครื่องมือของ Nacre ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
Claude Code
claude mcp add --scope user nacre --env NACRE_SERVICE_KEY='ใส่ค่าของคุณ' -- npx -y @nacre.work/mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"nacre": {
"command": "npx",
"args": [
"-y",
"@nacre.work/mcp"
],
"env": {
"NACRE_SERVICE_KEY": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"nacre": {
"command": "npx",
"args": [
"-y",
"@nacre.work/mcp"
],
"env": {
"NACRE_SERVICE_KEY": "ใส่ค่าของคุณ"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"nacre": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nacre.work/mcp"
],
"env": {
"NACRE_SERVICE_KEY": "ใส่ค่าของคุณ"
}
}
}
}NACRE_SERVICE_KEY ความลับ จำเป็น envคำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
npm: @nacre.work/mcpดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 15 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน nacre.work แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
มีการแก้โค้ดล่าสุด 3 วันที่ผ่านมา
ใช้ Apache-2.0
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ไม่พบรายการใน OSV.dev สำหรับ @nacre.work/mcp@0.41.0
ตรวจเฉพาะตัวแพ็กเกจรุ่นนี้ ไม่ใช่ทุก dependency · ตรวจเมื่อ 15 พ.ย. 2569
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: NACRE_SERVICE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 3 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.41.0) เข้า registry 21 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี OpenSEO, Exa, Mockserver, Microsoft Learn MCP, Docs
หมวดเดียวกันจากผู้ทำคนอื่น ผ่านตัวตรวจคำสั่งแล้ว ตัวทางการขึ้นก่อน แล้วเรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Keyword research, site audits, rank tracking and AI visibility for your AI agent.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
Official Microsoft Learn MCP Server – real-time, trusted docs & code samples for AI and LLMs.
Search and read Empryo's documentation. Read-only, no auth, no local access.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Nacre Your index. Your access rules. Your perimeter.
Agents see exactly what they're allowed to see.
nacre.work · Docs · Quickstart · Discussions
Nacre is a self-hosted knowledge index with fine-grained access control. Agents reach it over MCP, applications over a REST API. No chat interface, no company assistant — just the context layer underneath them.
Vector search is a solved problem. What isn't solved: making sure an agent querying a company index sees exactly the documents the requesting user is cleared for — and being able to prove it to an auditor.
read/write/admin inherited top-down. write does not imply read; admin implies both. Document-level grants and deny rules are commercial — this build refuses them and says so, rather than accepting a rule it cannot propagate.top_k returns k permitted results rather than k minus whatever got stripped out.SQLSTATE 23505, an invoice number or a variable name needs the literal match, and a dense-only index does not reliably return it.npx @nacre.work/cli signs in, creates a layer, walks a directory into it and searches — the four curl invocations the quickstart spells out, for when you want the result rather than the contract. A document that fails to index is a non-zero exit, so a nightly ingest cannot report success having indexed nothing.git clone https://github.com/nacre-work/nacre && cd nacre
cp .env.example .env docker compose --profile minimal up -d
Full walkthrough: docs/quickstart.md.
On an Apple Silicon Mac, read docs/apple-silicon.md first — the images are arm64 and the stack is native, but the embedder is the one piece you run on the host.
packages/api REST API and authorization service
packages/mcp MCP server (Streamable HTTP + STDIO) packages/worker indexing pipeline: parse, chunk, embed packages/core data model, permission resolver, shared types packages/sdk TypeScript SDK packages/admin community admin UI services/parser Python sidecar: bytes → {text, blocks, metadata} docs/ specifications — normative, and ahead of the code
Early, and it runs. The loop works end to end and has been driven by hand against a real PostgreSQL and a real Qdrant: create an organization, create a layer, grant someone read, ingest a document, poll the job to indexed, search and get the chunk back — and search as someone without the grant and get nothing while the vectors are still sitting in the index. Both surfaces work, REST and MCP over Streamable HTTP and STDIO alike. Revoking a grant removes the document from results on the next request: the permitted set is computed from the grants on every search, so there is no cache in the index to fall behind.
Search is rate limited per organization, unsafe methods take an Idempotency-Key, collections page by cursor, and reranking runs on the search path when a deployment configures a reranker. Tombstoned vectors are collected, and the SDK and the admin UI are written.
Signing in works: email and password, with rotating refresh tokens that end the session if one is replayed. init creates the first administrator and prints a generated password once. SSO is a commercial module.
The access log is readable: GET /v1/audit, newest first, cursor-paged, as JSON, JSONL or CSV. org_admin sees which documents were read — the question an audit log exists to answer — and platform_admin sees administrative actions and never that, which is rule 2 applied to the journal.
A layer can be moved onto a different embedding model. Qdrant will not add a named vector to a collection that exists, so the collection is replaced rather than altered: every point copied across with no embeddings computed, one statement to switch the pointer, then re-embedding one layer at a time. Search stays available and stays one query throughout. Before a layer switches, its reference query set is scored against the new model and a migration that lost recall stops instead of going live — that gate is off until you write a set, because it needs documents only you can pick.
A document can be uploaded as a form as well as sent as JSON, and a PDF, an Office or OpenDocument file (text, presentation or spreadsheet), an EPUB or an RTF is extracted by the parser sidecar. Both signals have to agree — the part declares the format's type and the bytes begin with its signature — because a declared type the bytes contradict is a disagreement, and sniffing alone would make the declared type decoration. Any other binary format is still refused at the edge, and a scanned PDF with no text layer is refused rather than indexed as nothing.
Tokens can be signed with an Ed25519 key instead of a shared secret, in which case the public half is published at /.well-known/jwks.json and only the process issuing tokens holds the private one.
`docker compose --profile minimal up` has been run from a clean clone, and the whole loop driven through it.
What is not built is what a commercial licence covers, and docs/licensing.md lists it: multi-tenancy, SSO, document-level permissions and deny rules, ID-JAG, SIEM export, a global admin, and quotas.
docs/ is the specification, and it still runs ahead of the code in places — start with docs/authz.md, which everything else depends on.
Six rules. Breaking any of them is a security incident, not a bug. Details in docs/authz.md.
write does not imply read.Apache 2.0 — all of it. Everything above is in this repository and stays there.
Tenancy (suspension, offboarding, quotas), SSO over OIDC with SCIM group sync, issuing document-level grants and deny rules, EMA, SIEM forwarding, global admin, backup, a required second factor and filtered directory administration are commercial modules. They live in a separate private repository under a separate license and are not distributed with this one — see docs/licensing.md for the line between the two and the one question that decides it.
Where this build meets one of them it refuses in the open: a deny rule or a document-scoped grant is answered 400 with the reason, rather than accepted and silently not enforced.
The Nacre name and mark are trademarks; see TRADEMARK.md.
There is no hosted tier, no seat count and nothing metered here, so the open half earns nothing by being used — which is the point, and also why it is worth saying who pays for it. The commercial modules do, and they are for the organizations that need them; a developer running this on a laptop is never the person being asked.
If it saved you a week, the Sponsor button at the top of this repository is the other way to say so. Nothing in this repository is behind it, and nothing will be.