Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
443 commits
Select commit Hold shift + click to select a range
7b1f119
variables.md Japanese
arnaud4d Oct 31, 2026
7b79075
building.md Japanese
arnaud4d Oct 31, 2026
01c7e54
clientserver.md Japanese
arnaud4d Oct 31, 2026
c0a098b
drag-and-drop.md Japanese
arnaud4d Oct 31, 2026
593ee99
labels.md Japanese
arnaud4d Oct 31, 2026
487a866
onafteredit.md Japanese
arnaud4d Oct 31, 2026
400dd0d
pictures.md Japanese
arnaud4d Oct 31, 2026
7a0e2aa
properties_action.md Japanese
arnaud4d Oct 31, 2026
248b597
properties_formproperties.md Japanese
arnaud4d Oct 31, 2026
0f33a77
dropdownlist_overview.md Japanese
arnaud4d Oct 31, 2026
56be21d
listbox-object.md Japanese
arnaud4d Oct 31, 2026
9b249fd
listbox_overview.md Japanese
arnaud4d Oct 31, 2026
a810a50
properties_object.md Japanese
arnaud4d Oct 31, 2026
cc8e00e
properties_rangeofvalues.md Japanese
arnaud4d Oct 31, 2026
c8f7f01
properties_text.md Japanese
arnaud4d Oct 31, 2026
3a46cd3
staticpicture.md Japanese
arnaud4d Oct 31, 2026
226b0f4
encrypt.md Japanese
arnaud4d Oct 31, 2026
2b571c7
overview.md Japanese
arnaud4d Oct 31, 2026
4183113
sdi.md Japanese
arnaud4d Oct 31, 2026
54e29bf
updates.md Japanese
arnaud4d Oct 31, 2026
96c8087
dsmapping.md Japanese
arnaud4d Oct 31, 2026
cf72c09
glossary.md Japanese
arnaud4d Oct 31, 2026
343aa73
privileges.md Japanese
arnaud4d Oct 31, 2026
f7460f2
compiler.md Japanese
arnaud4d Oct 31, 2026
09d2fe6
components.md Japanese
arnaud4d Oct 31, 2026
0ecaa13
search-replace.md Japanese
arnaud4d Oct 31, 2026
3761e6a
$entityset.md Japanese
arnaud4d Oct 31, 2026
2f3fdc9
$filter.md Japanese
arnaud4d Oct 31, 2026
f7364d6
classfunctions.md Japanese
arnaud4d Oct 31, 2026
6bcf346
configuration.md Japanese
arnaud4d Oct 31, 2026
95c88c9
real-time-monitor.md Japanese
arnaud4d Oct 31, 2026
b53360f
transformation-tags.md Japanese
arnaud4d Oct 31, 2026
1a1e01a
classes.md Japanese
arnaud4d Oct 31, 2026
4dc4427
vp-set-allowed-methods.md Japanese
arnaud4d Oct 31, 2026
2656697
configuring.md Japanese
arnaud4d Oct 31, 2026
7fc05ee
formulas.md Japanese
arnaud4d Oct 31, 2026
e076bb1
getting-started.md Japanese
arnaud4d Oct 31, 2026
a166efe
httprequests.md Japanese
arnaud4d Oct 31, 2026
9215d10
sessions.md Japanese
arnaud4d Oct 31, 2026
45dc622
templates.md Japanese
arnaud4d Oct 31, 2026
a413020
webserverconfig.md Japanese
arnaud4d Oct 31, 2026
010e53f
managing-formulas.md Japanese
arnaud4d Oct 31, 2026
77a7952
openaichatapi.md Japanese
arnaud4d Oct 31, 2026
d287cc5
write-class-method.md Japanese
arnaud4d Oct 31, 2026
fcbb78a
ai.md Japanese
arnaud4d Oct 31, 2026
e1b3f6d
interface.md Japanese
arnaud4d Oct 31, 2026
0740287
collectionclass.md Japanese
arnaud4d Oct 31, 2026
563e183
cryptokeyclass.md Japanese
arnaud4d Oct 31, 2026
90ed63b
dataclassclass.md Japanese
arnaud4d Oct 31, 2026
4d61df6
datastoreclass.md Japanese
arnaud4d Oct 31, 2026
cf7b07d
emailobjectclass.md Japanese
arnaud4d Oct 31, 2026
6508c2c
entityclass.md Japanese
arnaud4d Oct 31, 2026
3e68abe
entityselectionclass.md Japanese
arnaud4d Oct 31, 2026
da553e4
httpagentclass.md Japanese
arnaud4d Oct 31, 2026
a6a1eba
httprequestclass.md Japanese
arnaud4d Oct 31, 2026
b797a24
imaptransporterclass.md Japanese
arnaud4d Oct 31, 2026
cb16531
incomingmessageclass.md Japanese
arnaud4d Oct 31, 2026
c2b566b
mailattachmentclass.md Japanese
arnaud4d Oct 31, 2026
a464d95
methodclass.md Japanese
arnaud4d Oct 31, 2026
609bf92
pop3transporterclass.md Japanese
arnaud4d Oct 31, 2026
56ba1c1
quotamanagerclass.md Japanese
arnaud4d Oct 31, 2026
dc0dd45
smtptransporterclass.md Japanese
arnaud4d Oct 31, 2026
5da069b
sessionclass.md Japanese
arnaud4d Oct 31, 2026
f0dc6e9
systemworkerclass.md Japanese
arnaud4d Oct 31, 2026
3cf992b
about.md Japanese
arnaud4d Oct 31, 2026
5569854
arrays.md Japanese
arnaud4d Oct 31, 2026
c00cc9b
classes.md Japanese
arnaud4d Oct 31, 2026
5ac8ba9
components.md Japanese
arnaud4d Oct 31, 2026
9c7e78c
data-types.md Japanese
arnaud4d Oct 31, 2026
b91fd34
dt_blob.md Japanese
arnaud4d Oct 31, 2026
e7ced80
dt_boolean.md Japanese
arnaud4d Oct 31, 2026
eebc4a8
dt_collection.md Japanese
arnaud4d Oct 31, 2026
323ca6e
dt_date.md Japanese
arnaud4d Oct 31, 2026
79ed88b
dt_null_undefined.md Japanese
arnaud4d Oct 31, 2026
e3afb01
dt_number.md Japanese
arnaud4d Oct 31, 2026
845f638
dt_object.md Japanese
arnaud4d Oct 31, 2026
0ab4650
dt_picture.md Japanese
arnaud4d Oct 31, 2026
d9a0ab5
dt_pointer.md Japanese
arnaud4d Oct 31, 2026
d1fa7b5
dt_string.md Japanese
arnaud4d Oct 31, 2026
71a684c
dt_time.md Japanese
arnaud4d Oct 31, 2026
4775a0a
dt_variant.md Japanese
arnaud4d Oct 31, 2026
cf3da78
error-handling.md Japanese
arnaud4d Oct 31, 2026
d813b4e
flow-control.md Japanese
arnaud4d Oct 31, 2026
ffa05a1
identifiers.md Japanese
arnaud4d Oct 31, 2026
32296e4
interpreted.md Japanese
arnaud4d Oct 31, 2026
54b871c
methods.md Japanese
arnaud4d Oct 31, 2026
8a7e1f4
operators.md Japanese
arnaud4d Oct 31, 2026
d888f59
ordering.md Japanese
arnaud4d Oct 31, 2026
24b7729
parameters.md Japanese
arnaud4d Oct 31, 2026
e45c36f
shared.md Japanese
arnaud4d Oct 31, 2026
f7dda56
variables.md Japanese
arnaud4d Oct 31, 2026
c1b7555
building.md Japanese
arnaud4d Oct 31, 2026
5b25f7c
clientserver.md Japanese
arnaud4d Oct 31, 2026
70a9f26
drag-and-drop.md Japanese
arnaud4d Oct 31, 2026
b60f200
labels.md Japanese
arnaud4d Oct 31, 2026
5973d6a
field-properties.md Japanese
arnaud4d Oct 31, 2026
7a93648
structure-indexes.md Japanese
arnaud4d Oct 31, 2026
9ed34d5
structure-tables.md Japanese
arnaud4d Oct 31, 2026
f7f017e
onafteredit.md Japanese
arnaud4d Oct 31, 2026
aebe770
develop-components.md Japanese
arnaud4d Oct 31, 2026
7dcff7e
pictures.md Japanese
arnaud4d Oct 31, 2026
cd84f8a
properties_action.md Japanese
arnaud4d Oct 31, 2026
40a7e43
properties_formproperties.md Japanese
arnaud4d Oct 31, 2026
07019cc
dropdownlist_overview.md Japanese
arnaud4d Oct 31, 2026
092a601
listbox-object.md Japanese
arnaud4d Oct 31, 2026
d0b10d1
listbox_overview.md Japanese
arnaud4d Oct 31, 2026
69dd48a
properties_object.md Japanese
arnaud4d Oct 31, 2026
76581f7
properties_rangeofvalues.md Japanese
arnaud4d Oct 31, 2026
8a51f28
creating.md Japanese
arnaud4d Oct 31, 2026
5afd1a5
encrypt.md Japanese
arnaud4d Oct 31, 2026
376a847
overview.md Japanese
arnaud4d Oct 31, 2026
4bd78a7
sdi.md Japanese
arnaud4d Oct 31, 2026
e7970bb
glossary.md Japanese
arnaud4d Oct 31, 2026
ce82dd1
privileges.md Japanese
arnaud4d Oct 31, 2026
350749e
compiler.md Japanese
arnaud4d Oct 31, 2026
d23f692
components.md Japanese
arnaud4d Oct 31, 2026
44f28a7
$entityset.md Japanese
arnaud4d Oct 31, 2026
66b5c68
$filter.md Japanese
arnaud4d Oct 31, 2026
a5cc88f
classfunctions.md Japanese
arnaud4d Oct 31, 2026
1087de2
configuration.md Japanese
arnaud4d Oct 31, 2026
2e9f966
real-time-monitor.md Japanese
arnaud4d Oct 31, 2026
ae51b98
transformation-tags.md Japanese
arnaud4d Oct 31, 2026
0792c7b
classes.md Japanese
arnaud4d Oct 31, 2026
e39588c
vp-copy-to-object.md Japanese
arnaud4d Oct 31, 2026
41f2d18
vp-export-to-blob.md Japanese
arnaud4d Oct 31, 2026
ce41b53
vp-find.md Japanese
arnaud4d Oct 31, 2026
f9eb93d
vp-get-print-info.md Japanese
arnaud4d Oct 31, 2026
4535ea0
vp-set-allowed-methods.md Japanese
arnaud4d Oct 31, 2026
8d401e7
configuring.md Japanese
arnaud4d Oct 31, 2026
3cb899e
formulas.md Japanese
arnaud4d Oct 31, 2026
7d6ac1f
getting-started.md Japanese
arnaud4d Oct 31, 2026
af26cc2
authentication.md Japanese
arnaud4d Oct 31, 2026
e92a026
httprequests.md Japanese
arnaud4d Oct 31, 2026
0f7a127
sessions.md Japanese
arnaud4d Oct 31, 2026
4a7bc8e
templates.md Japanese
arnaud4d Oct 31, 2026
da7219e
webserverconfig.md Japanese
arnaud4d Oct 31, 2026
b4b133d
managing-formulas.md Japanese
arnaud4d Oct 31, 2026
af5e6bc
openaichatapi.md Japanese
arnaud4d Oct 31, 2026
49cf743
write-class-method.md Japanese
arnaud4d Oct 31, 2026
d1b1354
menus.md Japanese
arnaud4d Oct 31, 2026
b460151
service.md Japanese
arnaud4d Oct 31, 2026
00c3966
ai.md Japanese
arnaud4d Oct 31, 2026
51ae549
interface.md Japanese
arnaud4d Oct 31, 2026
e080c62
collectionclass.md Japanese
arnaud4d Oct 31, 2026
6be7074
dataclassclass.md Japanese
arnaud4d Oct 31, 2026
eba2fa8
datastoreclass.md Japanese
arnaud4d Oct 31, 2026
dbb42f9
emailobjectclass.md Japanese
arnaud4d Oct 31, 2026
b6ba808
entityclass.md Japanese
arnaud4d Oct 31, 2026
5185935
entityselectionclass.md Japanese
arnaud4d Oct 31, 2026
44a9bc1
httpagentclass.md Japanese
arnaud4d Oct 31, 2026
11df9f4
imaptransporterclass.md Japanese
arnaud4d Oct 31, 2026
0ac0443
incomingmessageclass.md Japanese
arnaud4d Oct 31, 2026
dcab107
pop3transporterclass.md Japanese
arnaud4d Oct 31, 2026
8509018
sessionclass.md Japanese
arnaud4d Oct 31, 2026
c4a61a9
systemworkerclass.md Japanese
arnaud4d Oct 31, 2026
5a9a200
about.md Japanese
arnaud4d Oct 31, 2026
ee71d0a
arrays.md Japanese
arnaud4d Oct 31, 2026
fdfa440
classes.md Japanese
arnaud4d Oct 31, 2026
7de629d
components.md Japanese
arnaud4d Oct 31, 2026
33f1fe4
data-types.md Japanese
arnaud4d Oct 31, 2026
1a61b4e
dt_blob.md Japanese
arnaud4d Oct 31, 2026
c8b089b
dt_boolean.md Japanese
arnaud4d Oct 31, 2026
62ad3e1
dt_collection.md Japanese
arnaud4d Oct 31, 2026
ad376b7
dt_date.md Japanese
arnaud4d Oct 31, 2026
da05ee7
dt_null_undefined.md Japanese
arnaud4d Oct 31, 2026
c00b663
dt_number.md Japanese
arnaud4d Oct 31, 2026
629adf4
dt_object.md Japanese
arnaud4d Oct 31, 2026
bc3cb19
dt_picture.md Japanese
arnaud4d Oct 31, 2026
5349907
dt_pointer.md Japanese
arnaud4d Oct 31, 2026
9c6c7f7
dt_time.md Japanese
arnaud4d Oct 31, 2026
c38f7bb
error-handling.md Japanese
arnaud4d Oct 31, 2026
31a89e1
flow-control.md Japanese
arnaud4d Oct 31, 2026
fb65eb7
identifiers.md Japanese
arnaud4d Oct 31, 2026
1b58df3
interpreted.md Japanese
arnaud4d Oct 31, 2026
a012026
methods.md Japanese
arnaud4d Oct 31, 2026
93cafad
operators.md Japanese
arnaud4d Oct 31, 2026
a3b1f10
parameters.md Japanese
arnaud4d Oct 31, 2026
b3f22a8
quick-tour.md Japanese
arnaud4d Oct 31, 2026
aa75a30
shared.md Japanese
arnaud4d Oct 31, 2026
4f50758
variables.md Japanese
arnaud4d Oct 31, 2026
8c46f99
building.md Japanese
arnaud4d Oct 31, 2026
7e6044d
clientserver.md Japanese
arnaud4d Oct 31, 2026
90aeef9
labels.md Japanese
arnaud4d Oct 31, 2026
e4e4793
onafteredit.md Japanese
arnaud4d Oct 31, 2026
a3fba9f
pictures.md Japanese
arnaud4d Oct 31, 2026
d5266fd
properties_action.md Japanese
arnaud4d Oct 31, 2026
5ec496b
properties_formproperties.md Japanese
arnaud4d Oct 31, 2026
19162d7
dropdownlist_overview.md Japanese
arnaud4d Oct 31, 2026
594eb75
listbox-object.md Japanese
arnaud4d Oct 31, 2026
0c8b0ce
listbox_overview.md Japanese
arnaud4d Oct 31, 2026
17311ce
properties_object.md Japanese
arnaud4d Oct 31, 2026
f653cfd
properties_rangeofvalues.md Japanese
arnaud4d Oct 31, 2026
849d7a3
creating.md Japanese
arnaud4d Oct 31, 2026
0a4a8f6
encrypt.md Japanese
arnaud4d Oct 31, 2026
1ab9d72
overview.md Japanese
arnaud4d Oct 31, 2026
977323c
sdi.md Japanese
arnaud4d Oct 31, 2026
11725ad
glossary.md Japanese
arnaud4d Oct 31, 2026
d94554f
privileges.md Japanese
arnaud4d Oct 31, 2026
e4fc7f8
compiler.md Japanese
arnaud4d Oct 31, 2026
02d887e
components.md Japanese
arnaud4d Oct 31, 2026
6e8223a
$filter.md Japanese
arnaud4d Oct 31, 2026
f77841a
$method.md Japanese
arnaud4d Oct 31, 2026
1946b03
classfunctions.md Japanese
arnaud4d Oct 31, 2026
f1bb46b
maintenance.md Japanese
arnaud4d Oct 31, 2026
af47f3f
real-time-monitor.md Japanese
arnaud4d Oct 31, 2026
cf1c65d
transformation-tags.md Japanese
arnaud4d Oct 31, 2026
4df5b6a
classes.md Japanese
arnaud4d Oct 31, 2026
4282a69
vp-set-allowed-methods.md Japanese
arnaud4d Oct 31, 2026
4efb263
configuring.md Japanese
arnaud4d Oct 31, 2026
a0d5cfb
formulas.md Japanese
arnaud4d Oct 31, 2026
9902fba
getting-started.md Japanese
arnaud4d Oct 31, 2026
73ee5e4
authentication.md Japanese
arnaud4d Oct 31, 2026
e9e0509
httprequests.md Japanese
arnaud4d Oct 31, 2026
fb0dcb4
sessions.md Japanese
arnaud4d Oct 31, 2026
263c5b5
templates.md Japanese
arnaud4d Oct 31, 2026
478fc1d
webserverconfig.md Japanese
arnaud4d Oct 31, 2026
2526149
managing-formulas.md Japanese
arnaud4d Oct 31, 2026
c4c68ec
openaichatapi.md Japanese
arnaud4d Oct 31, 2026
ca95710
write-class-method.md Japanese
arnaud4d Oct 31, 2026
13643ba
mcp-server.md Spanish
arnaud4d Oct 31, 2026
9c76301
picturepopupmenu_overview.md Japanese
arnaud4d Nov 2, 2026
d5b834a
pluginarea_overview.md Japanese
arnaud4d Nov 2, 2026
2495f64
progressindicator.md Japanese
arnaud4d Nov 2, 2026
0417728
properties_action.md Japanese
arnaud4d Nov 2, 2026
1db0748
properties_appearance.md Japanese
arnaud4d Nov 2, 2026
21bd4ff
entityclass.md Japanese
arnaud4d Nov 2, 2026
2bcae2e
entityselectionclass.md Japanese
arnaud4d Nov 2, 2026
f44313e
httprequestclass.md Japanese
arnaud4d Nov 2, 2026
585c8a8
imaptransporterclass.md Japanese
arnaud4d Nov 2, 2026
ab9590f
mailattachmentclass.md Japanese
arnaud4d Nov 2, 2026
3b91a92
systemworkerclass.md Japanese
arnaud4d Nov 2, 2026
d222a82
about.md Japanese
arnaud4d Nov 2, 2026
c53d350
arrays.md Japanese
arnaud4d Nov 2, 2026
be9ff27
classes.md Japanese
arnaud4d Nov 2, 2026
d7dcd68
data-types.md Japanese
arnaud4d Nov 2, 2026
1192214
dt_blob.md Japanese
arnaud4d Nov 2, 2026
e68ba06
dt_boolean.md Japanese
arnaud4d Nov 2, 2026
fa6c169
dt_collection.md Japanese
arnaud4d Nov 2, 2026
12677cd
dt_date.md Japanese
arnaud4d Nov 2, 2026
1427708
dt_null_undefined.md Japanese
arnaud4d Nov 2, 2026
c533150
dt_number.md Japanese
arnaud4d Nov 2, 2026
cd7d780
dt_object.md Japanese
arnaud4d Nov 2, 2026
e971358
properties_action.md Japanese
arnaud4d Nov 2, 2026
808b4ad
properties_appearance.md Japanese
arnaud4d Nov 2, 2026
988e316
properties_action.md Japanese
arnaud4d Nov 2, 2026
a87c219
properties_appearance.md Japanese
arnaud4d Nov 2, 2026
1caf286
properties_action.md Japanese
arnaud4d Nov 2, 2026
c6ce08a
properties_appearance.md Japanese
arnaud4d Nov 2, 2026
f8e63ae
properties_action.md Japanese
arnaud4d Nov 2, 2026
f71de79
properties_appearance.md Japanese
arnaud4d Nov 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Para recuperar el nombre de la clase asociada en tiempo de ejecución, utilice l

If you assign `4D.Vector` as the class of an Object type field, you define a **vector field**. Such fields store embessings and can be used to query data using AI features. See the [`4D.Vector` class](../API/VectorClass.md) documentation to see how to query with vectors.

Note that the [**4D Embedding Studio** component](corner.4d.com/component/4d-embedding-studio) can help you configuring and updating your 4D.Vector fields.
Note that the [**4D Embedding Studio** component](https://corner.4d.com/component/4d-embedding-studio) can help you configuring and updating your 4D.Vector fields.

When you assign `4D.Vector` as the class of an Object type field, a specific icon is displayed as field type in the Structure editor: ![](../assets/en/Develop/ai-icon.png)

Expand Down

Large diffs are not rendered by default.

370 changes: 246 additions & 124 deletions i18n/es/docusaurus-plugin-content-docs/current/ORDA/privileges.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ You do not need to write the MCP layer: 4D generates the tool catalog, converts

## Enabling the MCP server

The MCP server is disabled by default. It requires:
The MCP server is disabled by default. Requiere:

- the web server of the host application (the MCP server is not available on [component web servers](webServerObject.md)),
- [scalable sessions](sessions.md#enabling-web-sessions). If scalable sessions are disabled, the MCP server does not start, 4D logs a message in the [diagnostic log](../Debugging/debugLogFiles.md#4ddiagnosticlogtxt), and `/mcp` answers 404.
Expand Down Expand Up @@ -76,18 +76,18 @@ Responses are `application/json`. Every result contains a `resultType` property

The following methods are supported:

| Método | Token required | Descripción |
| ----------------- | -------------- | --------------------------------------------------------------------------------------------- |
| `server/discover` | No | Returns the capabilities of the server (see below) |
| `ping` | No | Returns an empty result |
| `tools/list` | Sí | Returns the [tool catalog](#tool-catalog) of the session |
| `tools/call` | Sí | Calls a [custom tool](#calling-a-custom-tool) or a [built-in CRUD tool](#built-in-crud-tools) |
| Método | Se necesita un token | Descripción |
| ----------------- | -------------------- | --------------------------------------------------------------------------------------------- |
| `server/discover` | No | Returns the capabilities of the server (see below) |
| `ping` | No | Returns an empty result |
| `tools/list` | Sí | Returns the [tool catalog](#tool-catalog) of the session |
| `tools/call` | Sí | Calls a [custom tool](#calling-a-custom-tool) or a [built-in CRUD tool](#built-in-crud-tools) |

Clients may call `tools/list` and `tools/call` directly, without calling `server/discover` first. The legacy `initialize` request of previous MCP revisions is not supported.

#### `server/discover`

The `server/discover` result is the same for all callers. It contains:
The `server/discover` result is the same for all callers. Contiene:

| Propiedad | Descripción |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand Down Expand Up @@ -117,7 +117,7 @@ $request.wait()

4D checks each request in the following order, before running any code of the application. The first failing check gives the answer:

| Check | Estado HTTP | JSON-RPC error |
| Check | Estado HTTP | Error JSON-RPC |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -------------- |
| MCP server disabled | 404, no body | |
| Plain HTTP not allowed (see [Secure connections](#secure-connections)) | 404, no body | |
Expand All @@ -128,7 +128,7 @@ $request.wait()
| JSON-RPC notification (no `id`): accepted, nothing is executed | 202, no body | |
| Missing `MCP-Protocol-Version`, `Mcp-Method` or `Mcp-Name` header, or header that does not match the body. A legacy `initialize` request gets a message naming the `2026-07-28` revision | 400 | `-32020` |
| Unsupported protocol version (`data.supported` lists the supported versions) | 400 | `-32022` |
| Unknown method | 404 | `-32601` |
| Método desconocido | 404 | `-32601` |

Then, for methods that require a token:

Expand All @@ -155,7 +155,7 @@ Requests with an `Origin` header are refused (403) to protect the server against

#### Proxies and public URL

4D publishes some URLs (OAuth metadata and endpoints, binary URLs). Their base is:
4D publishes some URLs (OAuth metadata and endpoints, binary URLs). Su base es:

- [`mcp.publicURL`](../API/WebServerClass.md#mcp) if it is set (recommended when the server is reachable under several names),
- otherwise the scheme and the `Host` header of the request. The `X-Forwarded-Proto` and `X-Forwarded-Host` headers are only used when the request comes from a proxy listed in `mcp.trustedProxies`.
Expand Down Expand Up @@ -220,7 +220,7 @@ Requests are stateless, but 4D keeps one web session per token and caller IP add
- Its privileges are those of the token. Then 4D calls the [`ds.mcpAuthenticated()`](../ORDA/ordaClasses.md#function-mcpauthenticated) function of your DataStore class, if defined, once per session: you can use it to fill [`Session.storage`](../API/SessionClass.md#storage) from the information stored with the token.
- The session closes after the [inactivity timeout of web sessions](sessions.md#session-lifetime), when its token is revoked or expires, or when the MCP server is disabled. Its license is then released.

### OAuth 2.1 mode
### Modo OAuth 2.1

In OAuth mode, 4D is the OAuth authorization server: users log in from their AI client through a 4D login page, without any external identity provider. The OAuth mode is enabled when your DataStore class defines the [`mcpGrant()`](../ORDA/ordaClasses.md#function-mcpgrant) function. Fine-Grained Tokens remain accepted.

Expand Down Expand Up @@ -282,7 +282,7 @@ To protect the login page against password guessing:
- after 10 failed logins from one caller IP address within 15 minutes, this address gets a 429 status for 15 minutes,
- after 20 failed logins for one user name within 15 minutes, this user name is refused for 15 minutes, with the same message as a wrong password.

## Authorization
## Autorización

The MCP server uses the [`roles.json`](../ORDA/privileges.md) file of the project, exactly as the REST server. There is nothing specific to MCP to configure:

Expand Down Expand Up @@ -463,10 +463,10 @@ exposed MCP Function cancel() : Text

The built-in CRUD tools let a client read and write the data of the datastore without custom code. They are listed when the session has at least one data permission (**read**, **create**, **update**, or **drop**) on a dataclass, and each call requires the corresponding permission:

| Tool | Arguments | Resultado | Permission |
| Tool | Argumentos | Resultado | Permission |
| -------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------- |
| `describeModel` | Ninguno | The dataclasses the session can access, their readable or writable attributes, and their relations to these dataclasses | Any data permission |
| `getEntity` | `dataClass`, `key`, `attributes` | The entity | read |
| `getEntity` | `dataClass`, `key`, `attributes` | La entidad | read |
| `queryEntities` | `dataClass`, `filter`, `params`, `attributes`, `orderBy`, `limit`, `skip` | `{entities, total, skip, nextSkip}` | read |
| `aggregateEntities` | `dataClass`, `attribute`, `filter`, `params` | `count`, and with `attribute`: `countNotNull`, `sum`, `average`, `min`, `max` | read |
| `addEntity` | `dataClass`, `data` | The created entity | create |
Expand Down
Loading
Loading