new docs revamped for Jan v0.5.18-rc
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 2.0 MiB |
BIN
docs/src/pages/docs/_assets/mcp-on.png
Normal file
|
After Width: | Height: | Size: 337 KiB |
BIN
docs/src/pages/docs/_assets/mcp-setup-1.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
docs/src/pages/docs/_assets/mcp-setup-2.png
Normal file
|
After Width: | Height: | Size: 439 KiB |
BIN
docs/src/pages/docs/_assets/mcp-setup-3.png
Normal file
|
After Width: | Height: | Size: 284 KiB |
BIN
docs/src/pages/docs/_assets/mcp-setup-4.png
Normal file
|
After Width: | Height: | Size: 514 KiB |
BIN
docs/src/pages/docs/_assets/mcp-setup-5.png
Normal file
|
After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 447 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 679 KiB |
@ -19,4 +19,127 @@ keywords:
|
|||||||
---
|
---
|
||||||
import { Callout, Steps } from 'nextra/components'
|
import { Callout, Steps } from 'nextra/components'
|
||||||
|
|
||||||
# MCP
|
# Using the Model Context Protocol (MCP) in Jan
|
||||||
|
|
||||||
|
Jan now supports the **Model Context Protocol (MCP)**, an open standard designed to allow language models to
|
||||||
|
interact with external tools and data sources.
|
||||||
|
|
||||||
|
MCP acts as a common interface, standardizing the way an AI model requests to perform an action and how it
|
||||||
|
receives data from a tool. This enables a model to connect to any MCP-compliant tool without requiring custom integration work.
|
||||||
|
|
||||||
|
This document outlines the benefits, risks, and implementation of MCP within Jan.
|
||||||
|
|
||||||
|
## Core Benefits of MCP
|
||||||
|
|
||||||
|
Integrating MCP provides a structured way to extend the capabilities of the models you use in Jan. Here are the three
|
||||||
|
|
||||||
|
|
||||||
|
* **Standardization:** MCP aims to solve the "M x N" integration problem, where every model (M) needs a
|
||||||
|
unique connector for every tool (N). By adapting to a single standard, any compliant model can interface with any compliant tool.
|
||||||
|
* **Extensibility:** This allows you to augment your models with new abilities. For instance, an AI can be granted
|
||||||
|
access to search your local codebase, query a database, or interact with web APIs, all through the same protocol.
|
||||||
|
* **Flexibility:** Because the interface is standardized, you can swap out models or tools with minimal friction,
|
||||||
|
making your workflows more modular and adaptable over time.
|
||||||
|
|
||||||
|
<Callout type="warning">
|
||||||
|
Please note that not all models that you can download and use, whether in Jan or other tools, may be good at
|
||||||
|
tool calling or compatible with MCP. Make sure that the model you choose is MCP-compliant before integrating
|
||||||
|
it into your workflows. This might be available in the model card or you may need to implement it yourself to
|
||||||
|
test the capabilities of the model.
|
||||||
|
</Callout>
|
||||||
|
|
||||||
|
## Considerations and Risks
|
||||||
|
|
||||||
|
While powerful, MCP is an evolving standard, and its use requires careful consideration of the following points:
|
||||||
|
|
||||||
|
* **Security:** Granting a model access to external tools is a significant security consideration. A compromised
|
||||||
|
tool or a malicious prompt could potentially lead to unintended actions or data exposure. Jan's implementation
|
||||||
|
focuses on user-managed permissions to mitigate this risk, meaning, you have to turn on the permission for each
|
||||||
|
tool individually.
|
||||||
|
* **Standard Maturity:** As a relatively new protocol, best practices or sensible defaults are still being
|
||||||
|
established. Users should be aware of potential issues like prompt injection, where an input could be crafted to
|
||||||
|
misuse a tool's capabilities.
|
||||||
|
* **Resource Management:** Active MCP connections may consume a portion of a model's context window, which could
|
||||||
|
affect performance (i.e., the more tools the model and the larger the context of the conversationhas the longer
|
||||||
|
you will need to wait for a response). Efficient management of tools and their outputs is important.
|
||||||
|
|
||||||
|
|
||||||
|
## Configure and Use MCPs in Jan
|
||||||
|
|
||||||
|
We have integrated an MCP client into Jan to help users in connecting tools to their workflows.
|
||||||
|
|
||||||
|
### 0. Pre Setup
|
||||||
|
|
||||||
|
You will need to have `node` and/or `python` installed on your machine. If you don't have them installed, you can
|
||||||
|
download them from the official websites:
|
||||||
|
- [Node.js](https://nodejs.org/)
|
||||||
|
- [Python](https://www.python.org/)
|
||||||
|
|
||||||
|
### 1. Initial Setup
|
||||||
|
|
||||||
|
Before connecting to a tool, you must first enable Jan's MCP host. Navigate to `Settings` > `MCP Servers` and toggle
|
||||||
|
the `Enable MCP Host` switch.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 2. Adding an MCP Server
|
||||||
|
|
||||||
|
Once the host is enabled, you can connect Jan to one or more MCP tool servers.
|
||||||
|
|
||||||
|
- Click on the `+` sign on the upper right-hand corner of the MCP box.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Enter the following details to configure the BrowserMCP:
|
||||||
|
- **Server Name**: `browsermcp`
|
||||||
|
- **Command**: `npx`
|
||||||
|
- **Arguments**: `@browsermcp/mcp`
|
||||||
|
- **Environment Variables**: You can leave this field empty.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Check that the server has been activated successfully.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### 3. Using an MCP Tool in a Chat
|
||||||
|
|
||||||
|
With a server connected, models that support tool use can now request access to your configured MCP. As of now,
|
||||||
|
the best models to use MCP are Claude 4 Sonnet, 4 Opus
|
||||||
|
|
||||||
|
#### 3.1 Local Models
|
||||||
|
|
||||||
|
- Start a chat with a model capable of tool use and enable tool calling via the UI.
|
||||||
|
|
||||||
|
|
||||||
|
#### 3.2 Cloud-based Models
|
||||||
|
|
||||||
|
- Go to **Model Providers > Anthropic** and, after you have entered your API key, enable tool
|
||||||
|
calling via the UI.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- Open up a new chat with, say, Claude 4 Sonnet, and send a request that requires the model to use the browser.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
[This is a place for you to add solutions to common problems. For example:]
|
||||||
|
|
||||||
|
* **Problem:** The MCP server appears as "Disconnected."
|
||||||
|
* **Solution:** [Your troubleshooting steps here. e.g., "Verify the server address is correct and that the server is running on your machine. Check for firewall rules that may be blocking the connection..."]
|
||||||
|
* **Problem:** A model is not attempting to use any tools.
|
||||||
|
* **Solution:** [Your troubleshooting steps here. e.g., "Ensure the model you are using supports tool-use. Not all models have this capability..."]
|
||||||
|
|
||||||
|
|
||||||
|
## Future Potential
|
||||||
|
|
||||||
|
This integration is the foundation for creating more capable and context-aware AI assistants within Jan. The long-term
|
||||||
|
goal is to enable complex workflows that leverage your local environment securely.
|
||||||
|
|
||||||
|
For example, an AI could cross-reference information between a local document and a remote API, or use a local script to
|
||||||
|
analyze data and then summarize the findings, all orchestrated through Jan's interface. As the MCP ecosystem grows, so
|
||||||
|
will the potential applications within Jan.
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Settings
|
title: Settings
|
||||||
description: Explore how to adjust the advanced settings of the Jan application to suit your specific requirements.
|
description: Explore how to adjust Jan's settings to suit your specific requirements.
|
||||||
keywords:
|
keywords:
|
||||||
[
|
[
|
||||||
Jan,
|
Jan,
|
||||||
@ -26,36 +26,7 @@ import { Settings, EllipsisVertical, Plus, FolderOpen, Pencil } from 'lucide-rea
|
|||||||
|
|
||||||
# Settings
|
# Settings
|
||||||
|
|
||||||
This guide explains how to customize your Jan application settings. To access **Settings**, click <Settings width={16} height={16} style={{display:"inline"}}/> icon in the bottom left corner of Jan.
|
To access the **Settings**, click <Settings width={16} height={16} style={{display:"inline"}}/> icon in the bottom left corner of Jan.
|
||||||
|
|
||||||
## Navigation Overview
|
|
||||||
|
|
||||||
The Settings sidebar includes:
|
|
||||||
- **General**
|
|
||||||
- **Appearance**
|
|
||||||
- **Privacy**
|
|
||||||
- **Model Providers**
|
|
||||||
- **Shortcuts**
|
|
||||||
- **Hardware**
|
|
||||||
- **MCP Servers**
|
|
||||||
- **Local API Server**
|
|
||||||
- **HTTPS Proxy**
|
|
||||||
- **Extensions**
|
|
||||||
|
|
||||||
## Appearance
|
|
||||||
|
|
||||||
Customize Jan's look and feel:
|
|
||||||
- **Theme:**
|
|
||||||
- Dark
|
|
||||||
- Light
|
|
||||||
- System (follows OS preference)
|
|
||||||
- **Font Size:**
|
|
||||||
- Small
|
|
||||||
- Medium
|
|
||||||
- Large
|
|
||||||
- Extra Large
|
|
||||||
- **Color Customization:**
|
|
||||||
- Window background, main view, primary, accent, destructive (choose from palette)
|
|
||||||
|
|
||||||
## Model Management
|
## Model Management
|
||||||
|
|
||||||
@ -142,25 +113,13 @@ To change:
|
|||||||
1. Choose your preferred **Appearance** from the dropdown
|
1. Choose your preferred **Appearance** from the dropdown
|
||||||
2. With **Joi Dark** & **Joi Light**, you can choose additional options:
|
2. With **Joi Dark** & **Joi Light**, you can choose additional options:
|
||||||
- **Solid:** Traditional opaque background
|
- **Solid:** Traditional opaque background
|
||||||
- **Translucent:** Semi-transparent interface
|
- **Translucent:** Semi-transparent interface
|
||||||
3. Changes apply immediately
|
3. Changes apply immediately
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||

|

|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
### Chat Width
|
|
||||||
Adjust how chat content is displayed.
|
|
||||||
1. In **Chat Width** section, select either
|
|
||||||
- **Full Width:** Maximizes the chat area to use the full width of the window. This is ideal for viewing longer messages or when working with code snippets that benefit from more horizontal space.
|
|
||||||
- **Compact Width:** Creates a more focused chat experience with a narrower conversation view. This setting is useful for reading conversations more comfortably, especially on larger screens.
|
|
||||||
2. Changes apply immediately to your conversation view
|
|
||||||
|
|
||||||
<br/>
|
|
||||||

|
|
||||||
<br/>
|
|
||||||
|
|
||||||
|
|
||||||
### Spell Check
|
### Spell Check
|
||||||
Jan includes a built-in spell check feature to help catch typing errors in your messages.
|
Jan includes a built-in spell check feature to help catch typing errors in your messages.
|
||||||
1. Switch the toggle on to enable spell checking, or off to disable it
|
1. Switch the toggle on to enable spell checking, or off to disable it
|
||||||
@ -236,7 +195,7 @@ Turn on GPU acceleration to improve performance:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Privacy
|
## Privacy
|
||||||
At **Settings** (<Settings width={16} height={16} style={{display:"inline"}}/>) > **Privacy**, you can control analytics & logs in Jan:
|
At **Settings** (<Settings width={16} height={16} style={{display:"inline"}}/>) > **Privacy**, you can control analytics & logs in Jan:
|
||||||
|
|
||||||
### Analytics
|
### Analytics
|
||||||
@ -246,7 +205,7 @@ You can help improve Jan by sharing anonymous usage data:
|
|||||||
2. You can change this setting at any time
|
2. You can change this setting at any time
|
||||||
|
|
||||||
<Callout type="info">
|
<Callout type="info">
|
||||||
Read more about that we collect with opt-in users at [Privacy](/docs/privacy).
|
Read more about that we collect with opt-in users at [Privacy](/docs/privacy).
|
||||||
</Callout>
|
</Callout>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
@ -270,7 +229,7 @@ Read more about that we collect with opt-in users at [Privacy](/docs/privacy).
|
|||||||
Jan retains your logs for only **24 hours**. To remove all logs from Jan, at **Clear Logs**, click the **Clear** button:
|
Jan retains your logs for only **24 hours**. To remove all logs from Jan, at **Clear Logs**, click the **Clear** button:
|
||||||
|
|
||||||
<Callout type="warning">
|
<Callout type="warning">
|
||||||
This action cannot be undone.
|
This action cannot be undone.
|
||||||
</Callout>
|
</Callout>
|
||||||
|
|
||||||
<br/>
|
<br/>
|
||||||
@ -287,11 +246,11 @@ Experimental features are unstable and are recommended only for testing purposes
|
|||||||
|
|
||||||
Current experimental features:
|
Current experimental features:
|
||||||
|
|
||||||
| Feature | Description |
|
| Feature | Description |
|
||||||
|---------|-------------|
|
|---------|-------------|
|
||||||
| [Tools](/docs/tools/retrieval) | Advanced tooling capabilities including web search, file operations, and code interpretation |
|
| [Tools](/docs/tools/retrieval) | Advanced tooling capabilities including web search, file operations, and code interpretation |
|
||||||
| Vulkan Settings | GPU acceleration using Vulkan API for improved model performance |
|
| Vulkan Settings | GPU acceleration using Vulkan API for improved model performance |
|
||||||
| [Jan Quick Ask](/docs/settings#jan-quick-ask) | Streamlined interface for rapid AI queries and responses |
|
| [Jan Quick Ask](/docs/settings#jan-quick-ask) | Streamlined interface for rapid AI queries and responses |
|
||||||
|
|
||||||
|
|
||||||
To try out these beta features, turn on **Experimental Mode** setting:
|
To try out these beta features, turn on **Experimental Mode** setting:
|
||||||
@ -304,7 +263,7 @@ Jan stores your data locally in your own filesystem in a universal file format.
|
|||||||
|
|
||||||
**1. Open Jan Data Folder**
|
**1. Open Jan Data Folder**
|
||||||
|
|
||||||
At **Jan Data Folder**, click <FolderOpen width={16} height={16} style={{display:"inline"}}/> icon to open Jan application's folder:
|
At **Jan Data Folder**, click <FolderOpen width={16} height={16} style={{display:"inline"}}/> icon to open Jan application's folder:
|
||||||
<br/>
|
<br/>
|
||||||

|

|
||||||
<br/>
|
<br/>
|
||||||
@ -313,7 +272,7 @@ At **Jan Data Folder**, click <FolderOpen width={16} height={16} style={{display
|
|||||||
|
|
||||||
1. At **Jan Data Folder**, click <Pencil width={16} height={16} style={{display:"inline"}}/> icon to edit Jan application's folder
|
1. At **Jan Data Folder**, click <Pencil width={16} height={16} style={{display:"inline"}}/> icon to edit Jan application's folder
|
||||||
2. Choose a new directory & click **Select**, make sure the new folder is empty
|
2. Choose a new directory & click **Select**, make sure the new folder is empty
|
||||||
3. Confirmation pop-up shows up:
|
3. Confirmation pop-up shows up:
|
||||||
|
|
||||||
> Are you sure you want to relocate Jan Data Folder to `new directory`?
|
> Are you sure you want to relocate Jan Data Folder to `new directory`?
|
||||||
Jan Data Folder will be duplicated into the new location while the original folder remains intact.
|
Jan Data Folder will be duplicated into the new location while the original folder remains intact.
|
||||||
@ -325,7 +284,7 @@ An app restart will be required afterward.
|
|||||||

|

|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
### HTTPs Proxy
|
### HTTPs Proxy
|
||||||
HTTPS Proxy encrypts data between your browser and the internet, making it hard for outsiders to intercept or read. It also helps you maintain your privacy and security while bypassing regional restrictions on the internet.
|
HTTPS Proxy encrypts data between your browser and the internet, making it hard for outsiders to intercept or read. It also helps you maintain your privacy and security while bypassing regional restrictions on the internet.
|
||||||
|
|
||||||
<Callout type="info">
|
<Callout type="info">
|
||||||
@ -395,7 +354,7 @@ Only use factory reset if:
|
|||||||
- You want to completely start fresh with a clean installation
|
- You want to completely start fresh with a clean installation
|
||||||
|
|
||||||
To begin the process:
|
To begin the process:
|
||||||
1. At **Reset to Factory Settings**, click **Reset** button
|
1. At **Reset to Factory Settings**, click **Reset** button
|
||||||
<br/>
|
<br/>
|
||||||

|

|
||||||
<br/>
|
<br/>
|
||||||
@ -407,9 +366,3 @@ To begin the process:
|
|||||||
<br/>
|
<br/>
|
||||||

|

|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||