Skip to content
Open
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
4c33439
docs: add authenticated Fern MCP server to Docs quickstart
matlegault Aug 6, 2026
7c5144a
docs: harden quickstart agent guidance for existing repos and MCP loa…
matlegault Aug 6, 2026
8c9ccb2
docs: add standalone Fern MCP servers page and surface agent setup to…
matlegault Aug 6, 2026
3e0ef80
chore: drop vendored Vale style files added by local sync
matlegault Aug 6, 2026
a27faed
cut down quickstart language
devalog Aug 6, 2026
e87e512
docs: use plain placeholder in org-scoped MCP URL
matlegault Aug 6, 2026
2e7fa1b
clarify content
devalog Aug 6, 2026
5e60e35
Merge branch 'devin/1786035479-authenticated-mcp-quickstart' of https…
devalog Aug 6, 2026
ae20033
add changelog
devalog Aug 6, 2026
990df8b
Merge main into authenticated-mcp-quickstart
devin-ai-integration[bot] Aug 11, 2026
f54ce61
docs: document `fern mcp install`
devin-ai-integration[bot] Aug 8, 2026
811db72
docs: tighten fern mcp install section
devin-ai-integration[bot] Aug 8, 2026
f64fe8d
docs: make fern mcp install the setup path for the org MCP server
devalog Aug 11, 2026
3ff5fd0
Completely rewrite the Fern Slack bot page and restructure its navigati…
fern-api[bot] Aug 13, 2026
83ed1b3
Add a new documentation page about "Fern Agent" — the agentic AI chat b…
fern-api[bot] Aug 13, 2026
941bc07
Add redirects to `docs.yml` for the two pages that were moved or remove…
fern-api[bot] Aug 13, 2026
593e121
fix(docs): correct Fern Agent page against the implementation
devalog Aug 13, 2026
0ab04b8
docs: fold Fern in Slack rewrite from #6623 into the Fern Agent PR
devalog Aug 13, 2026
5507b11
docs: avoid time-relative wording in the Slack answers section
devalog Aug 13, 2026
d215471
docs: present Fern in Slack as one bot with two capability categories
devalog Aug 13, 2026
523baf9
chore: drop vale package files pulled in by vale sync
devalog Aug 13, 2026
bd25321
add slack app page back
devalog Aug 18, 2026
a9e1185
Merge remote-tracking branch 'origin/2026-08-13-fern-ai-d8be69-f788c4…
devalog Aug 18, 2026
1947370
Merge MCP servers docs (#6557) into Fern Agent + Fern in Slack docs (…
devalog Aug 18, 2026
29dbf8b
update framing and copy
devalog Aug 18, 2026
f486346
docs(ai): broaden Fern Agent privacy section beyond Slack
devalog Aug 18, 2026
9be3304
update setup instructions
devalog Aug 18, 2026
e3ceed4
Merge branch 'devin/1787069687-combine-ai-docs' of https://github.com…
devalog Aug 18, 2026
7b58e33
update mcp guidance
devalog Aug 19, 2026
3fb98c7
take out info
devalog Aug 19, 2026
0c5f0ea
update setup instructions
devalog Aug 19, 2026
e9237b7
simplify wording
devalog Aug 19, 2026
ba69ad6
add video
devalog Aug 20, 2026
95ae636
Merge branch 'main' of https://github.com/fern-api/docs into devin/17…
devalog Aug 20, 2026
ab761d7
update command docs
devalog Aug 20, 2026
89ad40f
add static images
devalog Aug 20, 2026
936c4cc
update images
devalog Aug 20, 2026
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
19 changes: 12 additions & 7 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -534,27 +534,27 @@ redirects:

# Docs AI features (renamed pages)
- source: /learn/docs/ai/scribe-coming-soon
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent
- source: /learn/docs/ai/scribe
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent
- source: /learn/docs/ai/slack-app
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent
- source: /learn/docs/ai/writer
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent
- source: /learn/docs/ai/llms-txt
destination: /learn/docs/ai-features/llms-txt
- source: /learn/docs/ai/mcp-server
destination: /learn/docs/ai-features/mcp-server
- source: /learn/docs/ai-features/writer
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent
- source: /learn/docs/ai-features/mcp-server/overview
destination: /learn/docs/ai-features/mcp-server
- source: /learn/docs/seo/llms-txt
destination: /learn/docs/ai-features/llms-txt
- source: /learn/docs/developer-tools/view-markdown
destination: /learn/docs/ai-features/markdown
- source: /learn/docs/scribe-api/slack-scribe/get-scribe-slack-install-link
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent

# Docs self-hosted / alternatives
- source: /learn/docs/enterprise/self-hosted
Expand Down Expand Up @@ -804,7 +804,7 @@ redirects:
- source: /learn/ask-fern/features/slack-app
destination: /learn/docs/ai-features/ask-fern/slack-app
- source: /learn/ask-fern/features/scribe-slack-app
destination: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent

# /learn/ask-fern/* other specifics
- source: /learn/ask-fern/getting-started/what-is-ask-fern
Expand Down Expand Up @@ -834,6 +834,11 @@ redirects:
- source: /learn/ask-fern/:slug*
destination: /learn/docs/ai-features/ask-fern/:slug*

- source: /learn/docs/ai-features/fern-writer
destination: /learn/docs/ai-features/fern-agent
- source: /learn/docs/ai-features/fern-slack
destination: /learn/docs/ai-features/fern-agent

# Ask Fern new-location cleanup (/learn/docs/ai-features/ask-fern/*)
- source: /learn/docs/ai-features/ask-fern/how-it-works
destination: /learn/docs/ai-features/ask-fern/overview
Expand Down
2 changes: 1 addition & 1 deletion fern/fern.config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"organization": "fern",
"version": "5.90.1"
"version": "5.100.0"
}
33 changes: 20 additions & 13 deletions fern/products/docs/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,14 +182,18 @@ navigation:
contents:
- page: Overview
path: ./pages/ai/overview.mdx
- page: Fern Writer
path: ./pages/ai/writer.mdx
- page: Fern Agent
path: ./pages/ai/fern-agent.mdx
slug: fern-agent
- page: AI-generated examples
path: ./pages/ai/ai-examples.mdx
slug: ai-examples
- page: Markdown access
path: ./pages/ai/markdown.mdx
slug: markdown
- page: API catalog discovery
path: ./pages/ai/api-catalog.mdx
slug: api-catalog
- section: llms-txt
collapsed: open-by-default
skip-slug: true
Expand All @@ -204,26 +208,29 @@ navigation:
- page: Analytics and integration
path: ./pages/ai/llms-txt/analytics-integration.mdx
slug: llms-txt-analytics
- page: MCP server
path: ./pages/ai/mcp-server.mdx
slug: mcp-server
- page: API catalog discovery
path: ./pages/ai/api-catalog.mdx
slug: api-catalog
- section: Agent skills
- section: MCP
collapsed: open-by-default
skip-slug: true
contents:
- page: For your site
path: ./pages/ai/mcp-server.mdx
slug: mcp-server
- page: For building with Fern
path: ./pages/ai/fern-mcp-servers.mdx
slug: fern-mcp-servers
- section: Agent skills
skip-slug: true
contents:
- page: Agent setup
path: ./pages/ai/agent-setup.mdx
slug: agent-setup
hidden: true
- page: fern-docs skill
path: ./pages/ai/agent-skills.mdx
slug: agent-skills
- page: Custom skills
- page: For your site
path: ./pages/ai/host-skills.mdx
slug: host-skills
- page: For building with Fern
path: ./pages/ai/agent-skills.mdx
slug: agent-skills
- section: Ask Fern
slug: ask-fern
contents:
Expand Down
26 changes: 4 additions & 22 deletions fern/products/docs/pages/ai/agent-setup.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Agent setup
description: Copy-paste commands to connect a coding agent to the Fern CLI, the fern-docs agent skill, and Fern's two MCP servers.
description: Copy-paste commands to connect a coding agent to the Fern CLI, the fern-docs agent skill, and Fern's MCP server.
---

If you're an agent reading this page, run these commands yourself rather than asking the user to run them. The only step that needs a human is the browser login that `fern login` opens.
Expand All @@ -11,7 +11,6 @@ If you're an agent reading this page, run these commands yourself rather than as
npm install -g fern-api
fern login
npx skills add fern-api/skills --skill fern-docs -a claude-code
claude mcp add --transport http fern-docs https://buildwithfern.com/learn/_mcp/server
fern mcp install --client claude
```

Expand All @@ -24,23 +23,12 @@ npx skills add fern-api/skills --skill fern-docs -a cursor
fern mcp install --client cursor
```

`fern mcp install` registers the organization server. Add the documentation server to `.cursor/mcp.json`:

```json
{
"mcpServers": {
"fern-docs": { "url": "https://buildwithfern.com/learn/_mcp/server" }
}
}
```

## Codex

```bash
npm install -g fern-api
fern login
npx skills add fern-api/skills --skill fern-docs -a codex
codex mcp add fern-docs --url https://buildwithfern.com/learn/_mcp/server
fern mcp install --client codex
```

Expand All @@ -52,12 +40,11 @@ fern login
npx skills add fern-api/skills --skill fern-docs -a github-copilot
```

[`fern mcp install`](/learn/cli-api-reference/cli-reference/sdk-commands) supports Claude Code, Cursor, and Codex only, so register both servers in `.vscode/mcp.json` and complete the browser login that the organization server prompts for on first use:
[`fern mcp install`](/learn/cli-api-reference/cli-reference/commands) supports Claude Code, Cursor, and Codex only, so register the server in `.vscode/mcp.json` and complete the browser login it prompts for on first use:

```json
{
"servers": {
"fern-docs": { "url": "https://buildwithfern.com/learn/_mcp/server" },
"fern-org": { "url": "https://fai.buildwithfern.com/organizations/YOUR_ORGANIZATION/mcp" }
}
}
Expand All @@ -67,11 +54,6 @@ npx skills add fern-api/skills --skill fern-docs -a github-copilot

## Other MCP clients

Claude Desktop, Windsurf, VS Code, and any other client take the server URLs directly:

| Server | URL | Auth |
|--------|-----|------|
| Fern documentation | `https://buildwithfern.com/learn/_mcp/server` | None |
| Your organization | `https://fai.buildwithfern.com/organizations/YOUR_ORGANIZATION/mcp` | Browser login on first use |
Claude Desktop, Windsurf, VS Code, and any other client take the server URL directly: `https://fai.buildwithfern.com/organizations/YOUR_ORGANIZATION/mcp`, with a browser login on first use.

Install the skill with `npx skills add fern-api/skills --skill fern-docs -g`, which writes it to the shared `.agents/skills/` location instead of a single agent's directory.
Install the skill with `npx skills add fern-api/skills --skill fern-docs -g`, which writes it to the shared `.agents/skills/` location instead of a single agent's directory.
4 changes: 2 additions & 2 deletions fern/products/docs/pages/ai/agent-skills.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: fern-docs skill
title: Skills for using Fern Docs
description: Install the fern-docs agent skill to teach coding agents how to author and edit Fern Docs sites.
availability: beta
---
Expand Down Expand Up @@ -68,7 +68,7 @@ The skill's `SKILL.md` is an index that agents read first. It contains:
- **URL preservation rules** for setting up [redirects](/learn/docs/seo/redirects) when an edit moves, renames, or deletes a page
- **Cross-referencing guidelines** for connecting related pages
- **Authentication and RBAC guidance** for gating pages and inline content by role, wiring in an auth method, and understanding which config lives in the repo versus the Dashboard
- **Pointers to Fern resources** the agent can query at runtime, like the [MCP server](/learn/docs/ai-features/mcp-server) and [`llms.txt`](/learn/docs/ai-features/llms-txt), along with the convention for fetching any page as [Markdown](/learn/docs/ai-features/markdown) by appending `.md` to its URL
- **Pointers to Fern resources** the agent can query at runtime, like [Fern's MCP server](/learn/docs/ai-features/fern-mcp-servers) and [`llms.txt`](/learn/docs/ai-features/llms-txt), along with the convention for fetching any page as [Markdown](/learn/docs/ai-features/markdown) by appending `.md` to its URL

### References

Expand Down
Binary file added fern/products/docs/pages/ai/assets/agent.mp4
Binary file not shown.
161 changes: 161 additions & 0 deletions fern/products/docs/pages/ai/fern-agent.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
---
title: Fern Agent
description: >-
Fern's AI agent for your documentation. An expert in Fern configuration that edits pages, opens pull requests, and acts on your organization's analytics and reader data, from the Fern Dashboard, Slack, or your coding agent over MCP.
---

Fern Agent edits your documentation and analyzes your organization's Fern data — traffic, reader questions, deployments, and site configuration. It's an expert in Fern configuration, from `docs.yml` and components to versioning, redirects, and access control.

Talk to it in the [Fern Dashboard](https://dashboard.buildwithfern.com/) chat panel, or [integrate](#setup) it with your Slack or your coding agent (via MCP) in one click. or in [Slack](#setup), both set up from that chat panel.

<Frame>
<video
src="./assets/agent.mp4"
autoPlay
loop
playsInline
muted
>
</video>
</Frame>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <FernStyles.FirstPerson> reported by reviewdog 🐶
Use first person (such as 'me') sparingly.


Editing requires a GitHub repository, since Fern Agent delivers changes as pull requests and GitLab and other Git providers aren't supported. Every other tool, including analysis and insights, works regardless of your Git provider.

## What you can do

<AccordionGroup>

<Accordion title="Edit your docs">

Fern Agent reads your docs site's source repository and makes the changes you describe.

Requests can be about structure and settings as much as page copy, because Fern Agent knows how Fern sites are put together: [navigation](/learn/docs/configuration/navigation) and product switchers, [versions](/learn/docs/configuration/versions), [redirects](/learn/docs/seo/redirects), the [component library](/learn/docs/writing-content/components/overview), and [authentication and RBAC](/learn/docs/authentication/overview). It writes the configuration the way Fern expects it, so a moved page gets its redirect and a new page gets its navigation entry.

<Prompt title="Add a new page">
Add a page about authentication to my getting-started guide.
</Prompt>

<br />

<Prompt title="Rewrite existing content">
Identify which pages in my documentation could be more concise.
</Prompt>

</Accordion>

<Accordion title="Explore analytics">

Fern Agent queries pageviews, visitors, sessions, 404s, referring domains, search queries, reader feedback, and LLM bot traffic for any docs site in your organization. Ask for a fix alongside the question and it carries the specifics it found into the change it makes.

<Prompt title="Check traffic">
List the pages with the most traffic last month.
</Prompt>

<br />

<Prompt title="Repair broken URLs">
List the top 404 paths on my site over the last 30 days and add redirects for them.
</Prompt>

<br />

<Prompt title="Reorganize navigation">
Give me suggestions about how to optimize my navigation based on site analytics.
</Prompt>

<br />

<Prompt title="Follow up on empty searches">
Find the search queries that returned no results, then add the missing content to the API reference guide.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] <FernStyles.Reject> reported by reviewdog 🐶
Use 'API Reference' instead of 'API reference'.

</Prompt>

<br />

<Prompt title="Rewrite an underperforming page">
Find the page with the worst reader feedback and rewrite it to address what readers complained about.
</Prompt>

</Accordion>

<Accordion title="Review Ask Fern activity">

Fern Agent summarizes what readers ask [Ask Fern](/learn/docs/ai-features/ask-fern/overview), including resolution rates and individual conversations, so you can find topics that need better coverage — then write that coverage without leaving the conversation.

<Prompt title="Summarize reader questions">
Summarize what readers asked Ask Fern this week and suggest ways I can expand our documentation based off of those topics.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <FernStyles.FirstPerson> reported by reviewdog 🐶
Use first person (such as ' I') sparingly.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <FernStyles.We> reported by reviewdog 🐶
Try to avoid using first-person plural like 'our'.

</Prompt>

<br />

<Prompt title="Find unresolved conversations">
List the unresolved Ask Fern conversations.
</Prompt>

<br />

<Prompt title="Close a documentation gap">
Find the most common unresolved Ask Fern question this week and draft a page that answers it.
</Prompt>

</Accordion>

<Accordion title="Review configuration and deployments">

Fern Agent reports a site's deployment history, connected git repository, Fern CLI version, custom domain, and reader-facing settings such as search behavior and password protection. Since it reads the same `docs.yml` it edits, it can trace a failed build back to the configuration that caused it and fix it.

<Prompt title="Check deployments">
List the recent deployments for docs.plantstore.com.
</Prompt>

<br />

<Prompt title="Review site settings">
List the features enabled on docs.plantstore.com.
</Prompt>

</Accordion>

<Accordion title="Manage your organization">

Account administration stays read-only: it can't create API keys, change members, or update billing. When you ask Fern Agent to perform an administration action, it links you to the page that does it.

<Prompt title="Check organization members">
List the admins in my organization.
</Prompt>

<br />

<Prompt title="Update billing">
Where can I update billing information for my organization?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <FernStyles.FirstPerson> reported by reviewdog 🐶
Use first person (such as ' I') sparingly.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <Microsoft.QuestionMarks> reported by reviewdog 🐶
Use questions sparingly.

</Prompt>

</Accordion>

</AccordionGroup>

## Setup

Open the [Fern Dashboard](https://dashboard.buildwithfern.com/) and start a conversation in the chat panel. Fern Agent can open a PR or iterate live in the [visual editor](/learn/docs/writing-content/fern-editor). From the chat panel, you can also:

* **Connect Fern Agent to Slack.** Click **Connect Slack**, select the workspace, and add Fern to the Slack channels where your team discusses documentation. Authorizing the app requires Slack admin access.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] <Microsoft.UIVerbs> reported by reviewdog 🐶
Use 'select' instead of the input-specific verb 'Click'.

* **Connect your agents.** Click **Onboard your agent** to connect your coding agent to [Fern's MCP server](/learn/docs/ai-features/fern-mcp-servers).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] <Microsoft.UIVerbs> reported by reviewdog 🐶
Use 'select' instead of the input-specific verb 'Click'.


Answering reader questions in Slack is a separate capability with its own install, covered on the [Ask Fern Slack app](/learn/docs/ai-features/ask-fern/slack-app) page.

## Making requests in Slack

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] <FernStyles.Headings> reported by reviewdog 🐶
'Making requests in Slack' should use sentence-style capitalization.


Tag `@Fern` in a channel where it has been added and describe the change you need or analysis you want to conduct. It only responds when directly tagged. Fern replies to your prompt and opens PRs on your documentation as needed. At any time, you can click a link to continue your session in the Fern Dashboard.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] <Microsoft.UIVerbs> reported by reviewdog 🐶
Use 'select' instead of the input-specific verb 'click'.


Image and file attachments provide additional context. When tagged in an existing thread, Fern Agent reads the full conversation before responding. Request changes by replying in the thread, and merge the pull request like any other once it meets your requirements.

<Note title="Fern Agent vs. Fern Writer">
Fern Agent is an expansion of Fern Writer. Fern Writer opened documentation pull requests from Slack, and it still does — existing installations keep working and the request flow is unchanged.

What Fern Agent adds is context on your organization and more places to work from. Alongside editing, it answers questions about your traffic, reader questions, deployments, and site configuration, and the same capabilities are now available in the Fern Dashboard and in your coding agent over MCP rather than in Slack alone.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] <FernStyles.Current> reported by reviewdog 🐶
Avoid time-relative terms like 'now' that become outdated

</Note>

## Privacy and data handling

Fern Agent acts with your own Fern permissions on every surface, so it reads and edits only the sites, analytics, and organization data your account can already see. Requests are scoped to a single session: the prompt, any Slack message or thread you tag it in, and attached files are stored to complete the task and aren't retained afterward.

Editing is powered by [Devin from Cognition](https://cognition.ai/blog/introducing-devin). Neither Fern nor [Devin](https://docs.devin.ai/admin/security#how-is-your-data-used-to-improve-devin) uses your data to train AI models: Fern configures its Devin integration to opt out of any data collection for model training, so your messages, code, and documentation content are never used for training.
Loading
Loading