Your own AI app (MCP)
You can also edit a site with your own AI app, such as Claude or ChatGPT. The app connects to Kotisivukamu through the MCP interface. This suits, for example, a marketing or SEO agency that produces content for the site with its own tools.
The same connection can also create and edit your team's documents, such as contracts and offers. See Documents with your own app.
Kotisivukamu's own assistant still works in the dashboard and on WhatsApp. You only need the MCP interface if you want to use another AI app.
What the app can access
When you create a connection, you choose what the app can access. There are two options:
- Whole team. The app can access all of the team's sites and the team's documents. Sites the team gets later are part of the connection too. This option is for team members
- Chosen sites. The app can access only the chosen sites, not documents. This suits, for example, an agency that has been invited to one site
A user who has been invited only to a site and is not a team member can only choose sites. The approval page has a link for creating a team of their own.
You do not need an account beforehand. If you have none, connecting creates an account and a team. See Connecting an app.
What the app can do
The connection gets one level. Edit is selected by default.
| Level | What it allows |
|---|---|
| Read | Site details, files, visitor statistics, publishing history and blog posts. The team's documents and their content |
| Edit | As Read, plus editing the site's content, writing blog drafts, and creating and editing documents. With a Whole team connection also creating a new trial site. Nothing is visible to visitors yet |
| Edit and publish | As Edit, plus publishing changes, blog posts and documents, and connecting a domain to a site |
In a Chosen sites connection the level covers sites only.
If the app does not ask for every permission, not every level can be chosen. For example, an app that asks only for site permissions gets no access to documents even if you choose the whole team.
Creating a new site
The app can also start an entirely new site and build it itself. This needs a Whole team connection and at least the Edit level. A Chosen sites connection cannot create a new site.
The site comes about like this:
- The app creates the site in the team. The site gets a free trial period and the address
{site}.kskamu.app - Kotisivukamu makes a ready starting point for the site: a front page, a contact page, a privacy policy and a blog. This takes a minute or two. No AI writes content for the site, so no Kamusaldo is used
- The app writes the content and publishes it the same way as on other sites. Publishing needs the Edit and publish level. The published site is shown at
{site}.kskamu.app
The starting point's texts are in Finnish. If the site is made in another language, the app writes the texts in that language.
The site is listed on the dashboard's Sites page like the team's other sites. No e-mail is sent when the starting point is ready.
The trial is valid for 30 days from the last edit. A domain of its own needs a plan for the site. The app can start an order for a plan and a domain if the connection has the Domains and orders extra permission. You confirm and pay the order yourself, see Ordering a plan and a domain. You can also order them yourself in the dashboard, see Subscriptions.
The app can create trial sites only. When the user who created the connection already has the maximum number of trial sites, no new site is created.
Extra permissions
A Whole team connection can have extra permissions beside its level. They are chosen one at a time under Lisäoikeudet (Extra permissions), and none is selected by default. A Chosen sites connection cannot have extra permissions.
| Extra permission | What it allows |
|---|---|
| Contact requests | Messages sent through the contact forms of the team's sites. The app can also mark a message read |
| Billing | The team's invoices, Kamusaldo and its transactions, and the sites' subscriptions. Read only |
| Domains and orders | The team's domains, searching new domains and their price, plan prices, and starting orders of domains and plans. You always confirm and pay an order yourself |
An extra permission is shown only if the app asks for it. Kaikki oikeudet (All permissions) selects the widest level and every extra permission at once.
Contact request messages contain your customers' names, email addresses, phone numbers and whatever else they wrote in the form. The app's AI provider sees everything the app reads. Give this permission only if it is acceptable to you and your customers that the provider processes this personal data.
Messages are cleaned before the app gets them: invisible characters are removed, a link shows only its domain, for example [linkki: example.com], and a very long field is cut. This makes it harder for instructions or links hidden in a message to steer the app.
Ordering a plan and a domain
With the Domains and orders extra permission the app can search for free domains and tell you their prices and the plans' prices for the team. The price is the one the order is charged at, with VAT according to the team's billing details.
The app can start an order with a site's plan, domains, or both. A plan can be ordered for a site on its trial, also one whose trial has already ended. A trial site cannot have its own domain, so a domain for it is ordered together with the plan in the same order.
The app does not buy anything. It starts an order and gives you a link to the order page. On the order page you check the order, fill in the billing and owner details, accept the terms and confirm the order. Only then is an invoice created and the site moved onto the ordered plan. If the team has a saved card, the invoice is charged to it after you confirm. The domain is registered only once the invoice is paid.
- Nothing is charged, no plan is changed and no domain is reserved before you confirm. Someone else can still register the domain
- When one domain is ordered for a site, it is connected to the site right after registration and its DNS records are pointed at the site. The site usually shows at the address within an hour
- An unconfirmed order expires in 7 days
- A team can have at most 3 unconfirmed orders started by apps at a time
The app cannot pay for anything, and it has no access to team permissions.
Connecting a domain to a site
With the level Edit and publish the app can connect a domain to a published site. It can be a domain of the team that no site uses, or a domain registered elsewhere. A trial site cannot get a domain before a plan has been ordered for it.
- If the domain was registered through Kotisivukamu and its DNS is at Kotisivukamu, the app points the root and www records at the site. The old website records are replaced, email records stay
- For a domain managed elsewhere the app tells you which DNS records to add at the domain's provider. The same list is on the site's Verkkotunnus (Domain) page
The address usually works within an hour of the records resolving. The status is on the site's Verkkotunnus page, and the app can check it.
Who the app acts as
The app acts as the user who creates the connection. If an outside agency edits the site, first invite the agency's person as a site user on the site's Users page. They create the connection with their own account and choose the site.
The role limits the level:
- A Viewer can only give the app the Read level. If even one of the chosen sites is one where you are a viewer, the other levels cannot be chosen
- An Editor and team members can give any level
If the user's role changes, they are removed from the site or they leave the team, the app's permissions change with it. A Whole team connection ends when the user is no longer a member of the team.
Creating a connection
The app connects to https://mcp.kotisivukamu.fi, or for kamu.build users to https://mcp.kamu.build. The steps for Claude, ChatGPT and Claude Code are on the page Connecting an app.
Editing and publishing
Changes are made in two steps:
- Save. The app makes the changes in a draft version and saves it. A saved draft can be checked in the Studio editor's preview. Studio can be opened by a member of the site's team. A user invited only to the site cannot open Studio yet. The draft has no public address of its own. The app gets a link from the save that opens the draft in Studio. The public site does not change
- Publish. The app publishes the saved version. This needs the Edit and publish level
Blog posts work the same way: the app writes a draft, which shows on the dashboard's Posts page, and publishes it separately.
When the app has the Edit and publish level, it publishes without a separate approval. If you want to check changes before they go live, choose the Edit level, check the draft in Studio and publish it yourself. Blog posts you publish on the Posts page.
A published change can be undone on the site's History page by restoring an earlier version.
Tools
The app only sees the tools its level and extra permissions cover.
| Level | Tools |
|---|---|
| Read | list_sites, get_site_info, get_visitor_stats, get_recent_deployments, list_versions, get_file_tree, read_file, show_changes, list_blog_posts, get_site_domain |
| Edit | create_version, text_edit, write_file, create_file, delete_file, save_version, create_blog_post, update_blog_post, and with a Whole team connection create_site |
| Edit and publish | publish_version, publish_blog_post, link_domain |
| Extra permission Contact requests | list_contact_requests, get_contact_request, mark_contact_request_read |
| Extra permission Billing | get_billing_summary, list_invoices, get_invoice |
| Extra permission Domains and orders | list_domains, search_domains, check_domain, list_plans, start_order, get_order |
What the app has done
Kotisivukamu records every change an app makes through its connection: file edits, saves, publishes, blog posts, changes to documents, marking a contact request read, connecting a domain to a site, and starting orders of domains and plans. Kotisivukamu records every change an app makes through its connection: creating sites, file edits, saves, publishes, blog posts, changes to documents, marking a contact request read and starting a domain purchase.
Of the reads, those of confidential information are recorded: reading contact requests, invoices and billing details, and the content of documents. When the app reads the same thing several times in a row, it is recorded once per ten minutes. Reading a site's files is not recorded. The content that was read or changed is not stored in the records.
- In your profile under Connected apps, each app has Recent actions: the time, what the app did and to which site or document. For an order, the ordered plan and domains are shown.
- A site's History page has a Changes by apps section once an app has changed the site. Team owners and admins see every app's changes on the team's sites there, including the app of an agency invited to the site. Others see the changes of their own apps.
- Did not succeed means the app attempted a change but got an error, and nothing changed.
The records are kept for a year. The app itself cannot read them.
Removing a connection
Connected apps are listed in your profile under Connected apps. There you see whether the connection covers the whole team or chosen sites, its level and last use, and can remove a connection. After removal the app can no longer reach the sites.
Good to know
- Images cannot yet be added through the MCP interface. Add images on the Media page or in Studio
- The app can make at most 60 tool calls per minute
- Kotisivukamu does not charge for using the MCP interface. AI usage is paid to the app's own provider
- The user who created the connection is responsible for the content and for what is published