Skip to content
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
1639184
update nuxt ui
bryantgillespie Sep 11, 2025
2b17fad
add chat content component
bryantgillespie Sep 11, 2025
87ec531
fix PH capture for CLI snippet
bryantgillespie Sep 11, 2025
c34146c
scaffold out docs structure
bryantgillespie Sep 11, 2025
dfc2f66
fix links
bryantgillespie Sep 11, 2025
ec9a3bd
add config variables
bryantgillespie Sep 11, 2025
77ff492
fix broken links
bryantgillespie Sep 11, 2025
3fbb7e9
show sample tool calls
bryantgillespie Sep 11, 2025
00b3cec
fix ids
bryantgillespie Sep 11, 2025
f640c03
updates
bryantgillespie Sep 11, 2025
5251a7c
fix broken links
bryantgillespie Sep 11, 2025
443c0fa
fix broken link
bryantgillespie Sep 11, 2025
90834e5
update prompt doc
bryantgillespie Sep 11, 2025
207f030
fix more links
bryantgillespie Sep 11, 2025
64cff77
refine security guidelines for MCP usage and compliance considerations
bryantgillespie Sep 11, 2025
c94feda
add linkChecker configuration to skip absolute site URL inspections
bryantgillespie Sep 11, 2025
d2f7cb9
disable auto scroll
bryantgillespie Sep 11, 2025
8241259
security updates
bryantgillespie Sep 12, 2025
68ad47c
fix typo
bryantgillespie Sep 12, 2025
e1bdc3a
Update content/guides/10.ai/1.mcp/0.index.md
bryantgillespie Sep 12, 2025
22bf40d
Update content/guides/10.ai/1.mcp/0.index.md
bryantgillespie Sep 12, 2025
2e7e4e8
Update content/guides/10.ai/1.mcp/0.index.md
bryantgillespie Sep 12, 2025
457e689
add optin text
bryantgillespie Sep 12, 2025
c98af42
add security notice
bryantgillespie Sep 12, 2025
ead1a9c
Update installation guide with LLM integration details (#454)
JamesW1 Sep 12, 2025
aa05a1f
troubleshooting
bryantgillespie Sep 16, 2025
4262bd2
Merge branch 'main' into remote-mcp-docs
bryantgillespie Sep 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions app/components/content/Chat.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<script setup lang="ts">
interface ChatToolInvocation {
toolCallId: string;
toolName: string;
state: 'call' | 'result';
args?: Record<string, any>;
result?: string;
}

interface ChatMessage {
role: 'user' | 'assistant';
content: string;
toolInvocations?: ChatToolInvocation[];
id?: string;
}

interface ChatProps {
messages: ChatMessage[];
chatId?: string;
}

const props = defineProps<ChatProps>();

// Generate stable message IDs based on chatId and content
const messages = computed(() => {
return props.messages.map((message, index) => ({
...message,
id: message.id || `${props.chatId || 'chat'}-${message.role}-${index}`,
}));
});
</script>

<template>
<div class="border border-accented rounded-lg p-4">
<UChatMessages
:should-load-more="false"
:should-scroll-to-bottom="false"
:auto-scroll="false"
:messages="messages as any"
:user="{
side: 'right',
variant: 'subtle',
avatar: {
icon: 'material-symbols:person',
},
}"
:assistant="{
side: 'left',
avatar: {
icon: 'material-symbols:smart-toy',
},

}"
>
<template #content="{ message }">
<MDC
:value="message.content"
:cache-key="message.id"
unwrap="p"
/>

<!-- Tool calls display -->
<div
v-if="message?.toolInvocations && message?.toolInvocations.length"
class="mt-3 space-y-2"
>
<div
v-for="tool in message.toolInvocations"
:key="tool.toolCallId"
class="flex items-center gap-2 text-sm px-3 py-2 rounded-md bg-muted border border-muted"
>
<UIcon
name="material-symbols:check-circle"
class="w-4 h-4 flex-shrink-0 text-muted"
/>
<span
class="font-medium"
>
Called {{ tool.toolName }}
</span>
<span
v-if="tool?.result"
class="text-xs text-muted"
>
{{ tool?.result }}
</span>
</div>
</div>
</template>
</UChatMessages>
<slot name="footer" />
</div>
</template>
2 changes: 1 addition & 1 deletion app/components/content/DocCliSnippet.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const copyToClipboard = async () => {
<template>
<ClientOnly>
<div
v-posthog-capture="{
v-capture="{
name: 'marketing.website.cli_snippet.copy.click',
properties: {
command: command,
Expand Down
16 changes: 16 additions & 0 deletions content/configuration/ai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: AI
description: Configuration for AI features including the Model Context Protocol (MCP) server.
---

:partial{content="config-env-vars"}

## Model Context Protocol

| Variable | Description | Default Value |
| -------- | ----------- | ------------- |
| `MCP_ENABLED` | Whether the Model Context Protocol server is available for system administrators to enable in project settings. Set to `false` to completely disable MCP functionality across the entire instance. | `true` |

::callout{icon="material-symbols:info" color="info"}
When `MCP_ENABLED` is set to `false`, the MCP server cannot be enabled through **Settings → AI → Model Context Protocol** in the admin interface, providing system administrators with complete control over AI integration features. See the [MCP Server](/guides/ai/mcp/installation) guide for more information.
::
Loading